Android Glide loading Bitmap from RESOURCE_DISK_CACHE slow,cost time≈2 seconds+

news2024/11/27 17:35:58

Android Glide loading Bitmap from RESOURCE_DISK_CACHE slow,cost time≈2 seconds+

加载一张宽高约100px多些的小图,是一张相当小的正常图片,loading Bitmap from RESOURCE_DISK_CACHE竟然耗时达到惊人的3秒左右!(打开Glide调试模式,DEBUG日志输出观察),很奇怪的现象。

排查对比,这张图片就算是用Android原生的BitmapFactory.decodeFile函数,从原始图decode成Bitmap,最多时候也不过约30+ms。
此时查看应用的缓存,约2GB+,会不会因为缓存太多,Glide从缓存文件中查找反而更耗时,而非读取耗时?索性清空所有缓存,果然!重新进入应用,全新LOCAL的解码Glide也就20ms左右,有半成品RESOURCE_DISK_CACHE缓存情况下loading Bitmap from RESOURCE_DISK_CACHE约10~20ms+。
追溯了原因,此前在RecyclerView多宫格展示图片,实验了不同size的解码尺寸,并且,手机上照片太多。之前上下滑动后都decode成半成品RESOURCE_DISK_CACHE,Glide维护了几套废弃不用尺寸的RESOURCE_DISK_CACHE(僵尸缓存,不会再用到),导致RESOURCE_DISK_CACHE缓存体量大,废弃无用的RESOURCE_DISK_CACHE在Glide遍历寻找历史缓存记录时,浪费了Glide查找时间。
解决方法:把之前的缓存全部清除。

Android Glide PreloadTarget transform LOCAL/RESOURCE_DISK_CACHE to Bitmap,fill into MEMORY_CACH-CSDN博客文章浏览阅读681次,点赞8次,收藏7次。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。现在结合他人的代码加以修改,给出一个以原始图形中心为原点,修剪图片为头像的工具类,此类可以直接在布局文件中加载使用,比。文章浏览阅读670次。https://blog.csdn.net/zhangphil/article/details/139004400Android RecyclerView GridLayoutManager,Glide load Photo,classification by date tag, Kotlin-CSDN博客文章浏览阅读334次,点赞3次,收藏6次。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。现在结合他人的代码加以修改,给出一个以原始图形中心为原点,修剪图片为头像的工具类,此类可以直接在布局文件中加载使用,比。文章浏览阅读670次。https://blog.csdn.net/zhangphil/article/details/139101233

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1816243.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

元宇宙数字化3D虚拟展馆

随着科技的飞速发展,我们迎来了一个全新的时代——元宇宙时代。在这个充满无限可能的虚拟世界中,元宇宙数字展馆搭建编辑器应运而生,以其卓越的技术和创新的理念,为用户带来了前所未有的沉浸式展览体验。 元宇宙数字展馆搭建编辑器…

普涨和补涨—2024年上半年全球投资趋势

全球大宗商品价格处在上涨周期,东吴证券认为上游能源行业股价还有继续上涨的空间。随着6月全球股指进一步上涨,预计港股可能还会迎来补涨行情。 一、我们观察的全球投资趋势: 1、全球股指普涨&补涨。全球风险资产进入2024年后普遍上涨&am…

Spark安装、解压、配置环境变量、WordCount

Spark 小白的spark学习笔记 2024/5/30 10:14 文章目录 Spark安装解压改名配置spark-env.sh重命名,配置slaves启动查看配置环境变量 工作流程maven创建maven项目配置maven更改pom.xml WordCount按照用户求消费额上传到spark集群上运行 安装 上传,直接拖拽…

一文讲清:生产报工系统的功能、报价以及如何选择

最近这几年,企业越来越注重生产的速度和成本,尤其是“性价比”,生产报工系统已经变成了制造业里不可或缺的一部分。不过,市场上生产报工系统的选择太多,价格也都不一样,这就给很多企业出了个难题&#xff1…

【Python数据魔术】:揭秘类型奥秘,赋能代码创造

文章目录 🚀一.运算符🌈1. 算术运算符🌈2. 身份运算符🌈3. 成员运算符⭐4. 增量运算符⭐5. 比较运算符⭐6. 逻辑运算符 🚀二.可变与不可变🚀三.字符串转义🚀四.编码与解码💥1. 基础使…

SpringBoot 异常配置

系统异常处理 创建异常处理器类,类上添加ControllerAdvice注解。 package com.soft.exception;import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframewor…

Java的集合框架总结

Map接口和Collection接口是所有集合框架的父接口: Collection接口的子接口包括:Set接口和List接口 Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等 Set接口的实现类主要有:HashSet、Tr…

【数据结构】二叉树:一场关于节点与遍历的艺术之旅

专栏引入 哈喽大家好,我是野生的编程萌新,首先感谢大家的观看。数据结构的学习者大多有这样的想法:数据结构很重要,一定要学好,但数据结构比较抽象,有些算法理解起来很困难,学的很累。我想让大家…

数据结构之链表的经典笔试题

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:数据结构(Java版) 目录 203. 移除链表元素 206. 反转链表 876. 链表的中间节点 面试题 02.02. 返回倒数第k个节点 …

零基础非科班也能掌握的C语言知识22 预处理详解(完结)

预处理详解 1.预处理符号2.#define 定义常量3.#define 定义宏4.带有副作用的宏参数5.宏替换的规则6.宏函数的对比6.1 例子6.1 .16.1.26.1.3 7.命名约定8.undefin9.命令行定义(博主没办法演示)10.条件编译11.头文件的包含11.1本地文件11.2库文件的包含11.3 嵌套文件的包含 12.其…

软件安全测评有哪些测试流程?第三方检测机构进行安全测评的好处

在今天的高科技时代,软件产品已经成为人们生活和工作的重要组成部分。然而,与其普及和深入应用的,软件安全问题也日益凸显。 为了保障软件产品在使用过程中的安全性,进行安全测评是必不可少的。安全测评可以全面评估软件系统的安…

GPT-4o多模态大模型的架构设计

GPT-4o:大模型风向,OpenAI大更新 OpenAI震撼发布两大更新!桌面版APP与全新UI的ChatGPT上线,简化用户操作,体验更自然。同时,全能模型GPT-4o惊艳亮相,跨模态即时响应,性能卓越且性价比…

Java集合自测题

文章目录 一、说说 List , Set , Map 三者的区别?二、List , Set , Map 在 Java 中分别由哪些对应的实现类?底层的数据结构?三、有哪些集合是线程不安全的?怎么解决呢?四、HashMap 查询,删除的时间复杂度五…

k8s中的pod域名解析失败定位案例

问题描述 我在k8s中启动了一个Host网络模式的pod,这个pod的域名解析失败了。 定位步骤 敲kubectl exec -it [pod_name] -- bash进入pod后台,查看/etc/resolv.conf,发现nameserver配的有问题。这里我预期的nameserver应该使用宿主机的&…

【Linux】线程(一)

谈论之前需要先谈论一些线程的背景知识 其中就有进程地址空间,又是这个让我们又爱又恨的东西 目录 背景知识:地址空间: 背景知识: 地址空间: 说在前边,OS通常分为4个核心模块:执行流管理&…

【qt】绘图

绘图 一.画家二.绘图事件三.坐标体系四.画笔1.setColor2.setWidth3.setStyle4.setCapStyle5.setJoinStyle6.给画家配置笔 五.画刷1.setColor2.setStyle3.给画家设置刷子 六.用到的类汇总1.QRect 矩形2.QPoint 点3.QImage 图片4.QPixmap 图片5.QLine 线6.QPainterPath 路径 七.开…

如何关闭端口被占用的进程

如何关闭端口被占用的进程 操作步骤一、打开命令提示符(Command Prompt)二、查看占用端口的进程三、kill杀死占用端口的进程 操作步骤 一、打开命令提示符(Command Prompt) 使用 win R 打开命令行模式 然后在命令行窗口输入下…

【LLM Agent 长文本】Chain-of-Agents与Qwen-Agent引领智能体长文本处理革命

前言 大模型在处理长文本上下文任务时主要存在以下两个问题: 输入长度减少:RAG的方法可以减少输入长度,但这可能导致所需信息的部分丢失,影响任务解决性能。扩展LLMs的上下文长度:通过微调的方式来扩展LLMs的上下文窗…

基于DenseNet网络实现Cifar-10数据集分类

目录 1.作者介绍2.Cifar-10数据集介绍3.Densenet网络模型3.1网络背景3.2网络结构3.2.1Dense Block3.2.2Bottleneck层3.2.3Transition层3.2.4压缩 4.代码实现4.1数据加载4.2建立 DenseNet 网络模型4.3模型训练4.4训练代码4.5测试代码 参考链接 1.作者介绍 吴思雨,女…

搭建自己的多平台镜像站

# 1. 拉取代码 $ git clone https://github.com/wzshiming/crproxy.git $ cd crproxy/examples/default# 2. 修改网关域名 使用vim编辑start.sh文件,将第五行的gateway变量值修改为你自己设定的域名。 原:gatewaycr.zsm.io 修改为:gatewayXS…