Coil是一个Android图片加载库,通过Kotlin协程的方式加载图片。特点:
- 更快: Coil在性能上有很多优化包括内存缓存和磁盘缓存,把缩略图存保存在内存中,循环利用bitmap,自动暂停和取消图片网络请求等。
- 更轻量级: Coil 只有2000个方法(前提是你的APP里面集成了OkHttp和Coroutines),Coil和Picasso的方法数差不多相比Glide和Fresco要轻量级很多。
- 更容易使用: Coil's API 充分利用了Kotlin语言的新特性简化和减少了很多重复的代码。
- 更流行: Coil首选Kotlin语言开发并且使用包含Coroutines, OkHttp, Okio和AndroidX Lifecycles在内的最流行的开源库。
Coil的首字母由来:取Coroutine,Image和Loader得来Coil。
在Instacart用❤️打造。
Coil允许使用mavenCentral()
.
implementation("io.coil-kt:coil:1.1.0")
可以使用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...
可以使用lambda语法轻松配置请求选项:
imageView.load("https://www.example.com/image.jpg") {
crossfade(true)
placeholder(R.drawable.image)
transformations(CircleCropTransformation())
}
也可以查看Coil文档获得更多信息: full documentation here.
- AndroidX
- Min SDK 14+
- Java 8+
Coil兼容R8混淆您无需再添加其他的规则
如果您需要混淆代码,你可能需要添加对应的混淆规则:Coroutines, OkHttp and Okio。
Copyright 2020 Coil Contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.