andrid 圖片加載庫 Coil

github coil
使用文檔

Coil是一個Android圖片加載庫,通過Kotlin協(xié)程的方式加載圖片。特點:

  • 更快: Coil在性能上有很多優(yōu)化包括內(nèi)存緩存和磁盤緩存,把縮略圖存保存在內(nèi)存中,循環(huán)利用bitmap,自動暫停和取消圖片網(wǎng)絡(luò)請求等。
  • 更輕量級: Coil 只有2000個方法(前提是你的APP里面集成了OkHttp和Coroutines),Coil和Picasso的方法數(shù)差不多相比Glide和Fresco要輕量級很多。
  • 更容易使用: Coil's API 充分利用了Kotlin語言的新特性簡化和減少了很多重復(fù)的代碼。
  • 更流行: Coil首選Kotlin語言開發(fā)并且使用包含Coroutines, OkHttp, Okio和AndroidX Lifecycles在內(nèi)的最流行的開源庫。

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)
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容