Android图片框架之Glide

2021-07-07  本文已影响0人  xulj100

Gilde缓存机制

Glide缓存分为内存缓存和磁盘缓存,其中内存缓存是由弱引用+LruCache组成。

1、弱引用

弱引用是由这样一个HashMap维护,key是缓存的key,这个key由图片url、width、height等10来个参数组成;value是图片资源对象的弱引用形式。

Map<Key, ResourceWeakReference> activeEngineResources = new HashMap<>();

2、LruCache

LruCache是由一个LinkedHashMap维护,根据Lru算法来管理图片。大致的原理是利用LinkHashMap链表的特性,把最近使用过的文件插入到列表头部,没使用的图片放在尾部;然后当图片大小到达预先设置的一个阀值的时候 ,按算法删除列表尾部的部分数据。

#LruCache
Map<T, Y> cache = new LinkedHashMap<>(100, 0.75f, true);

3、磁盘缓存原理(DiskLruCache)

上一篇 下一篇

猜你喜欢

热点阅读