andrid 图片加载库 Coil

andrid 图片加载库 Coil_第1张图片

github coil
使用文档

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。

引入:
implementation("io.coil-kt:coil:1.0.0-rc3")

使用方法:

// 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())
}

Data Binding 使用:

@BindingAdapter("bindingAvator")
fun bindingAvator(imageView: ImageView, url: String) {
    imageView.load(url) {
        crossfade(true)
        placeholder(R.mipmap.ic_launcher_round)
    }
}

@BindingAdapter("bindSmallImage")
fun bindingSmallImage(imageView: ImageView, url: String) {
    imageView.load(url) {
        crossfade(true)
        placeholder(R.mipmap.ic_launcher_round)
        size(280,280)
    }
}

你可能感兴趣的:(andrid 图片加载库 Coil)