美文网首页
Gilde原理学习笔记

Gilde原理学习笔记

作者: 阴天不带伞百分百下雨君 | 来源:发表于2020-04-14 18:44 被阅读0次

一、数据存储方式

资源采用 Key-Value 形式保存,通过对资源路径的转化生成唯一Key,Value即Bitmap。

二、三级缓存

1.活动缓存

当使用gilde加载图片,gilde先去活动缓存查找是否有对应key,有则直接使用,无则再去内存缓存查找

活动缓存 对象每使用一次则计数+1,当计数为0即对象未被使用后则以弱引用的方式进行GC并同时返回key/value到内存缓存保存。

注:应用关闭后活动缓存会清空。

2.内存缓存

当在内存缓存找到key使用后,则把 key/value剪切到活动缓存,无则继续去磁盘缓存查找。

内存缓存采用LruCache方式保存,即当内存缓存容量溢出后移除最近最少使用的对象。

注:应用关闭后内存缓存会清空。

3.磁盘缓存

当在内存缓存也没找到key对应的资源后,则会去本地磁盘缓存目录查找key。有则把key/value复制到活动缓存,无则okhttp加载网络资源后保存到磁盘缓存并且复制到活动缓存。

三、生命周期

Glide在加载图片时会在当前界面新建一个透明的Fragment,监听Fragment生命周期通过接口回调。

四、图片缓存采用LRU算法

LRU算法实现原理为LinkedHaspMap,即双向链表+HashMap。

相关文章

网友评论

      本文标题:Gilde原理学习笔记

      本文链接:https://www.haomeiwen.com/subject/nmlhvhtx.html