Android Glide限定onlyRetrieveFromCache取内存缓存submit超时阻塞方式,Kotlin

这篇具有很好参考价值的文章主要介绍了Android Glide限定onlyRetrieveFromCache取内存缓存submit超时阻塞方式,Kotlin。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Android Glide限定onlyRetrieveFromCache取内存缓存submit超时阻塞方式,Kotlin

 

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

 文章来源地址https://www.toymoban.com/news/detail-717935.html

 

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 同步获取bitmaphttps://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

 

到了这里,关于Android Glide限定onlyRetrieveFromCache取内存缓存submit超时阻塞方式,Kotlin的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android Glide

    1.引入glide 2.AndroidManifest.xml 中添加需要的权限 如果你计划从 URL 或一个网络连接中加载数据,你需要加 INTERNET 和 ACCESS_NETWORK_STATE 权限到你的 AndroidManifest.xml 中,要从本地文件夹或DCIM或图库中加载图片,你将需要添加 READ_EXTERNAL_STORAGE 权限。 3. 基本使用 Glide.with([fragment/Conte

    2024年04月12日
    浏览(26)
  • [Android]图片加载库Glide

    目录 Glide的介绍  Glide的基本使用   指定图片的格式 Glide占位符  指定图片的大小  过渡动画 图片变换 Generated API Glide的介绍 Glide是一个快速高效的Android图片加载库,可以自动加载网络,本地文件,app资源中的文件,注重于平滑的滚动。 开源地址:https://github.com/bumptech/gl

    2024年02月08日
    浏览(29)
  • Android---Glide的基本使用

    目录 Glide 基本使用 Glide 进阶  Glide 是一个快速高效的 Android 图片加载库,可以自动加载网络、本地文件,app 资源中的图片,注重于平滑的滚动。 Glide 第一次加载一张图片后,就会自动帮我们把这张图片加入到内存中进行管理。 步骤1 :导入 Glide 依赖 步骤2: 最简单使用 wi

    2024年02月03日
    浏览(28)
  • Android——Glide的多样使用

    没有任何附加效果显示,请求结果返回之后,直接在图片容器中显示 当网络请求过多或者业务繁忙时,Glide返回可能会有一定延迟,此空窗期就会不显示任何东西,通过 placeholder 可添加一张占位符,在数据未返回之前,显示一张默认图片 在开发需求中,往往会需要将某些图

    2023年04月24日
    浏览(25)
  • Android使用glide时报错“ ����: �޷�����Fragment Glide.with(getContext()) ^ �Ҳ���and”

    在 gradle.properties 中添加下面两行代码 即可

    2024年02月08日
    浏览(26)
  • Android之Glide图片框架分析

    使用简单,链式调用,API简洁。with、load、into三步走就可以加载图片 生命周期自动绑定,根据绑定的Activity或者Fragment生命周期管理图片请求 高效处理Bitmap。支持bitmap的复用和主动回收,减少系统回收压力。 占用内存小(使用RGB565的格式),RGB8888每个像素占的字节会比RGB5

    2024年02月13日
    浏览(29)
  • Android Glide CustomTarget ,kotlin

    Android Glide CustomTarget ,kotlin       android Glide CustomViewTarget,java_zhangphil的博客-CSDN博客 【代码】android Glide CustomViewTarget,java。 https://blog.csdn.net/zhangphil/article/details/129493334 Android Glide预加载preload ,kotlin_zhangphil的博客-CSDN博客 【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然G

    2024年02月16日
    浏览(29)
  • Android 加载gif图,Glide

    个人中心 DownLoad Android 可以使用 Glide、Picasso、Fresco 等第三方库来加载 gif 图。 以 Glide 为例,可以按照以下步骤加载 gif 图: 1. 在 build.gradle 文件中添加 Glide 的依赖: ``` dependencies {     implementation \\\'com.github.bumptech.glide:glide:4.12.0\\\'     annotationProcessor \\\'com.github.bumptech.glide:compil

    2024年02月14日
    浏览(30)
  • Android Glide MemorySizeCalculator计算值,Kotlin

     注意里面的负值变化。MemorySizeCalculator在计算时候,超过某个阈值,反转负值。 Android Glide自定义AppGlideModule,让Glide在app启动后基于定制化GlideModule加载,kotlin_zhangphil的博客-CSDN博客 在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户

    2024年02月14日
    浏览(30)
  • Android 面试之Glide做了哪些优化?

    Glide 可以说是最常用的图片加载框架了, Glide 链式调用使用方便,性能上也可以满足大多数场景的使用, Glide 源码与原理也是面试中的常客。 但是 Glide 的源码内容比较多,想要学习它的源码往往千头万绪,一时抓不住重点. 本文以 Glide 做了哪些优化为切入点,介绍与学习

    2024年02月11日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包