前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Universal-Image-Loader图片缓存架构

Universal-Image-Loader图片缓存架构

作者头像
林老师带你学编程
发布2022-11-30 10:12:05
2770
发布2022-11-30 10:12:05
举报
文章被收录于专栏:强仔仔

图片缓存的机制

大家都知道如果一直浏览网站,内存没处理的话会出现内存溢出的情况。今天就讲一下图片中内存是如何进行管理的。

首先Android中最经常用的就是Universal-Image-Loader图片缓存架构来解决图片浏览是内存溢出等问题。那它的工作原理及工作过程是怎样的呢?

该缓存架构分为三级缓存分别是1.强引用缓存2.软引用缓存3.离线缓存

1.强引用缓存 为了保证稳定性,不会被垃圾回收器不定期回收,宁愿抛出OOM(内存溢出bug)而且用LinkedHashMap(String,BItMap)来存储。

其中String中存放图片的URL,因为该LinkedHashMap里面含有LRU(近期最少使用)算法所以不用HashMap来实现。

在强引用缓存中可以设置放置的图片数,超过的图片会从强引用缓存中移除加入到软引用缓存中。

2.软引用缓存 存放一些不经常使用的对象,单内存不足的时候会被垃圾回收器直接回收清空。利用ConcurrentHashMap(String,SoftRefrence(BitMap))来存储。

其中String中放置URL路径,SoftRefrence(BitMap)放置图片对象的软引用。

3.离线缓存 把文件进行持久化,放置到本地硬盘里实现本地存现。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档