- import android.os.Bundle
- import android.util.Log
- import android.widget.ImageView
- import androidx.appcompat.app.AppCompatActivity
- import androidx.lifecycle.lifecycleScope
- import com.bumptech.glide.load.engine.DiskCacheStrategy
- import kotlinx.coroutines.Dispatchers
- import kotlinx.coroutines.launch
- import kotlinx.coroutines.withContext
- import java.util.concurrent.TimeUnit
-
- class MainActivity : AppCompatActivity() {
- private val TAG = "fly"
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_main)
- val image = findViewById
(R.id.image) -
- val size = 1000
- val timeOut = 20L //20毫秒超时
- val ctx = this
-
- lifecycleScope.launch(Dispatchers.IO) {
- val bmp = kotlin.runCatching {
- GlideApp.with(ctx)
- .asBitmap()
- .onlyRetrieveFromCache(true)
- .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
- .centerCrop()
- .load(android.R.drawable.stat_notify_error)
- .override(size)
- .submit()
- .get(timeOut, TimeUnit.MICROSECONDS)
- }.onSuccess {
- Log.d(TAG, "onSuccess 取到缓存")
- }.onFailure {
- Log.d(TAG, "onFailure ${it}")
- }.getOrNull()
-
- withContext(Dispatchers.Main) {
- if (bmp == null) {
- Log.d(TAG, "没取到缓存,启动新任务")
-
- //取不到bmp缓存,启动新加载。
- GlideApp.with(ctx)
- .asBitmap()
- .centerCrop()
- .override(size)
- .load(android.R.drawable.stat_notify_error)
- .into(image)
- } else {
- Log.d(TAG, "取到缓存 ${bmp.byteCount}")
- //取到以往存在的bmp缓存。
- image.setImageBitmap(bmp)
- }
- }
- }
- }
- }
Android Glide onlyRetrieveFromCache downloadOnly submit ,kotlin_zhangphil的博客-CSDN博客文章浏览阅读353次。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。https://blog.csdn.net/zhangphil/article/details/131774130Android Glide同步阻塞方式submit获得Bitmap,kotlin_glide 同步获取bitmap-CSDN博客文章浏览阅读638次。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。_glide 同步获取bitmap
https://blog.csdn.net/zhangphil/article/details/131641086Android Glide判断图像资源是否缓存onlyRetrieveFromCache,使用缓存数据,Kotlin-CSDN博客文章浏览阅读246次。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。
https://blog.csdn.net/zhangphil/article/details/134038421Kotlin异常处理runCatching,getOrDefault,getOrNull run(2)-CSDN博客文章浏览阅读44次。b-catch: java.lang.RuntimeException: b发生异常。kotlin异常处理try-catch-finally。kotlin异常处理try-catch-finally_zhangphil的博客-CSDN博客。b-catch: java.lang.RuntimeException: b发生异常。kotlin异常处理try-catch-finally。kotlin异常处理try-catch-finally_zhangphil的博客-CSDN博客。
https://blog.csdn.net/zhangphil/article/details/133279933Kotlin异常处理runCatching,getOrNull,onFailure,onSuccess(1)-CSDN博客文章浏览阅读451次。b-catch: java.lang.RuntimeException: b发生异常。kotlin异常处理try-catch-finally。kotlin异常处理try-catch-finally_zhangphil的博客-CSDN博客。
https://blog.csdn.net/zhangphil/article/details/133279853