2019.07.24
Glide内存缓存
- Glide把图片封装为Resource类,变量包括id(一般是url)、长、宽、等,当这些变量都一致则认为是同样的任务对象
- 内存缓存分为两种,正在使用的图片,以及lruCache中的缓存
- 针对正在使用的图片的情况:Glide使用图片时,会用一个弱引用指向bitmap,使用缓存时通过弱引用取得图片资源,在使用图片时计数+1,释放时计数-1,当计数为0时表示图片没在使用。此时把bitmap放到lrucache
- 若从弱应用拿不到图片,则尝试从lruCache取图片,lruCache通过LinkedHashMap的特性实现,若对象被使用则放在队头,在容量满时,从队尾开始删除对象。