Universal-Image-Loader源码分析,及常用的缓存策略.docVIP

  • 2
  • 0
  • 约1.77万字
  • 约 13页
  • 2017-01-22 发布于重庆
  • 举报

Universal-Image-Loader源码分析,及常用的缓存策略.doc

Universal-Image-Loader源码分析,及常用的缓存策略

Universal-Image-Loader源码分析,及常用的缓存策略 讲到图片请求,主要涉及到网络请求,内存缓存,硬盘缓存等原理和4大引用的问题,概括起来主要有以下几个内容: 原理示意图 主体有三个,分别是UI,缓存模块和数据源(网络)。它们之间的关系如下: ① UI:请求数据,使用唯一的Key值索引Memory Cache中的Bitmap。 ② 内存缓存:缓存搜索,如果能找到Key值对应的Bitmap,则返回数据。否则执行第三步。 ③ 硬盘存储:使用唯一Key值对应的文件名,检索SDCard上的文件。 ④ 如果有对应文件,使用BitmapFactory.decode*方法,解码Bitmap并返回数据,同时将数据写入缓存。如果没有对应文件,执行第五步。 ⑤ 下载图片:启动异步线程,从数据源下载数据(Web)。 ⑥ 若下载成功,将数据同时写入硬盘和缓存,并将Bitmap显示在UI中。 UIL中的内存缓存策略 1. 只使用的是强引用缓存 LruMemoryCache(这个类就是这个开源框架默认的内存缓存类,缓存的是bitmap的强引用,下面我会从源码上面分析这个类) 2.使用强引用和弱引用相结合的缓存有 UsingFreqLimitedMemoryCache(如果缓存的图片总量超过限定值,先删除使用频率最小的bitmap) LRULimitedMemoryCache(这个

文档评论(0)

1亿VIP精品文档

相关文档