当前位置: 首页 > news >正文

Android Glide判断图像资源是否缓存onlyRetrieveFromCache,使用缓存数据,Kotlin

Android Glide判断图像资源是否缓存onlyRetrieveFromCache,使用缓存数据,Kotlin

 

import android.graphics.Bitmap
import android.os.Bundle
import android.util.Log
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity
import com.bumptech.glide.load.DataSource
import com.bumptech.glide.load.engine.GlideException
import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.target.Targetclass MainActivity : AppCompatActivity() {private val TAG = "fly"private val mContext = thisoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val imageView = findViewById<ImageView>(R.id.image)val url = "https://profile-avatar.csdnimg.cn/06993f9ad1b949fb8adffe2fd319515d_zhangphil.jpg"val size = 50glideOnlyLoadFromCache(url, size, object : OnCachedListener {override fun memCached(o: Any, hasCached: Boolean) {if (hasCached) {Log.d(TAG, "找到缓存! ${o}")GlideApp.with(mContext).asBitmap().load(url).centerCrop().override(size).into(imageView)} else {Log.d(TAG, "没找到缓存! ${o}")}}})}//只从缓存中取图片,如果取到就通过接口回调。private fun glideOnlyLoadFromCache(url: String, size: Int, listener: OnCachedListener) {val target = GlideApp.with(this).asBitmap().load(url).onlyRetrieveFromCache(true).addListener(object : RequestListener<Bitmap> {override fun onLoadFailed(e: GlideException?,model: Any?,target: Target<Bitmap>,isFirstResource: Boolean): Boolean {Log.d(TAG, "没有缓存 $url")listener.memCached(url, false)return true}override fun onResourceReady(resource: Bitmap,model: Any,target: Target<Bitmap>?,dataSource: DataSource,isFirstResource: Boolean): Boolean {Log.d(TAG, "发现缓存 $url")listener.memCached(url, true)return true}}).centerCrop().override(size).preload()}interface OnCachedListener {fun memCached(o: Any, hasCached: Boolean)}
}

 

 

 

 

 

 

Android Glide onlyRetrieveFromCache downloadOnly submit ,kotlin_zhangphil的博客-CSDN博客文章浏览阅读346次。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。https://blog.csdn.net/zhangphil/article/details/131774130Android Glide预加载preload ,kotlin_zhangphil的博客-CSDN博客文章浏览阅读976次。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。_glide预加载https://blog.csdn.net/zhangphil/article/details/131635804

Android Glide同步阻塞方式submit获得Bitmap,kotlin_glide 同步获取bitmap-CSDN博客文章浏览阅读632次。【代码】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 MemorySizeCalculator计算值,Kotlin_zhangphil的博客-CSDN博客文章浏览阅读745次。在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。Android Glide数据更新及内存缓存、硬盘缓存清理事项Android的Glide在加载图片时候内部默认使用了缓存机制,Glide的缓存机制分为两级,第一级是内存缓存,然后第二级是硬盘缓存。_memorysizecalculatorhttps://blog.csdn.net/zhangphil/article/details/132119180

 

相关文章:

  • 二进制搭建 Kubernetes+部署网络组件+部署CornDNS+负载均衡部署+部署Dashboard
  • 多输入多输出 | Matlab实现k-means-LSTM(k均值聚类结合长短期记忆神经网络)多输入多输出组合预测
  • Postman日常操作
  • Android 中如何使用 App Links
  • React Swiper.js使用(详细版)3D聚焦特效,自定义导航按钮等
  • ZYNQ连载01-ZYNQ介绍
  • 解决:getReader() has already been called for this request
  • Docker-compose和Consul
  • CV计算机视觉每日开源代码Paper with code速览-2023.10.27
  • modelsim仿真报错:vlog-2388 ‘scl‘ already declared in this scope
  • FPGA_状态机工作原理
  • el-table多选表格 实现默认选中 删除选中列表取消勾选等联动效果
  • SHCTF 山河CTF Reverse方向[Week1]全WP 详解
  • Ansible 的脚本 --- playbook 剧本
  • ITSource 分享 第5期【校园信息墙系统】
  • $translatePartialLoader加载失败及解决方式
  • [译] React v16.8: 含有Hooks的版本
  • __proto__ 和 prototype的关系
  • axios 和 cookie 的那些事
  • GraphQL学习过程应该是这样的
  • gulp 教程
  • Java 23种设计模式 之单例模式 7种实现方式
  • Linux gpio口使用方法
  • MySQL的数据类型
  • Mysql优化
  • storm drpc实例
  • use Google search engine
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Vue--数据传输
  • vue学习系列(二)vue-cli
  • 模型微调
  • 深入 Nginx 之配置篇
  • 事件委托的小应用
  • 提醒我喝水chrome插件开发指南
  • 移动端高清、多屏适配方案
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (02)vite环境变量配置
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (33)STM32——485实验笔记
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (转)【Hibernate总结系列】使用举例
  • (转)关于多人操作数据的处理策略
  • .bat文件调用java类的main方法
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .net core 6 集成和使用 mongodb
  • .NET Core中Emit的使用
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET的微型Web框架 Nancy
  • .net网站发布-允许更新此预编译站点
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • @JsonFormat与@DateTimeFormat注解的使用