一、前言:
Coil 是一个 Android 图片加载库,通过 Kotlin 协程的方式加载图片。特点如下:
- 更快: Coil 在性能上有很多优化,包括内存缓存和磁盘缓存,把缩略图存保存在内存中,循环利用 bitmap,自动暂停和取消图片网络请求等。
- 更轻量级:Coil 只有2000个方法(前提是你的 APP 里面集成了 OkHttp 和 Coroutines),Coil 和 Picasso 的方法数差不多,相比 Glide 和 Fresco 要轻量很多。
- 更容易使用: Coil 的 API 充分利用了 Kotlin 语言的新特性,简化和减少了很多样板代码。
- 更流行: Coil 首选 Kotlin 语言开发并且使用包含 Coroutines, OkHttp, Okio 和 AndroidX Lifecycles 在内最流行的开源库。
Coil 名字的由来:取 Coroutine Image Loader 首字母得来。
二、使用:
1、Coil 可以在 mavenCentral() 下载
implementation("io.coil-kt:coil:1.2.1")
2、可以使用 ImageView 的扩展函数 load 加载一张图片:
// URL
imageView.load("https://www.example.com/image.jpg")
// Resource
imageView.load(R.drawable.image)
// File
imageView.load(File("/path/to/image.jpg"))
// And more...
3、可以使用 lambda 语法轻松配置请求选项:
imageView.load("https://www.example.com/image.jpg") {
crossfade(true)
placeholder(R.drawable.image)
transformations(CircleCropTransformation())
}
也可以查看 Coil 的完整文档获得更多信息。
4、环境要求
- AndroidX
- Min SDK 14+
- Java 8+
5、 R8 / Proguard
-
Coil 兼容 R8 混淆,您无需再添加其他的规则
-
如果您需要混淆代码,可能需要添加对应的混淆规则:Coroutines, OkHttp, Okio。
参考地址:https://github.com/coil-kt/coil/blob/master/README-zh.md
网友评论