码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Android Glide限定onlyRetrieveFromCache取内存缓存submit超时阻塞方式,Kotlin


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

     

    1. import android.os.Bundle
    2. import android.util.Log
    3. import android.widget.ImageView
    4. import androidx.appcompat.app.AppCompatActivity
    5. import androidx.lifecycle.lifecycleScope
    6. import com.bumptech.glide.load.engine.DiskCacheStrategy
    7. import kotlinx.coroutines.Dispatchers
    8. import kotlinx.coroutines.launch
    9. import kotlinx.coroutines.withContext
    10. import java.util.concurrent.TimeUnit
    11. class MainActivity : AppCompatActivity() {
    12. private val TAG = "fly"
    13. override fun onCreate(savedInstanceState: Bundle?) {
    14. super.onCreate(savedInstanceState)
    15. setContentView(R.layout.activity_main)
    16. val image = findViewById(R.id.image)
    17. val size = 1000
    18. val timeOut = 20L //20毫秒超时
    19. val ctx = this
    20. lifecycleScope.launch(Dispatchers.IO) {
    21. val bmp = kotlin.runCatching {
    22. GlideApp.with(ctx)
    23. .asBitmap()
    24. .onlyRetrieveFromCache(true)
    25. .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
    26. .centerCrop()
    27. .load(android.R.drawable.stat_notify_error)
    28. .override(size)
    29. .submit()
    30. .get(timeOut, TimeUnit.MICROSECONDS)
    31. }.onSuccess {
    32. Log.d(TAG, "onSuccess 取到缓存")
    33. }.onFailure {
    34. Log.d(TAG, "onFailure ${it}")
    35. }.getOrNull()
    36. withContext(Dispatchers.Main) {
    37. if (bmp == null) {
    38. Log.d(TAG, "没取到缓存,启动新任务")
    39. //取不到bmp缓存,启动新加载。
    40. GlideApp.with(ctx)
    41. .asBitmap()
    42. .centerCrop()
    43. .override(size)
    44. .load(android.R.drawable.stat_notify_error)
    45. .into(image)
    46. } else {
    47. Log.d(TAG, "取到缓存 ${bmp.byteCount}")
    48. //取到以往存在的bmp缓存。
    49. image.setImageBitmap(bmp)
    50. }
    51. }
    52. }
    53. }
    54. }

     

     

    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

     

  • 相关阅读:
    跟着顶级科研报告IPCC学绘图:温度折线/柱图/条带/双y轴
    springboot+vue 架构 (一)
    Java 面试秘诀
    记一次排查:接口返回值写入excel后,从单元格copy出来的数据会带有多重引号的问题
    关于<dependencyManagement>和<dependencies>
    Mysql分组查询每组最新的一条数据,查询用户的最新的一条记录
    opencv项目9---利用YOLOv3实现对物体的实时检测
    五万字142道超全前端面试题---送给在校招的你
    使用kubekey部署k8s集群和kubesphere、在已有k8s集群上部署kubesphere
    Hadoop分布式集群搭建教程
  • 原文地址:https://blog.csdn.net/zhangphil/article/details/134051794
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号