文章目录
- 一、引入缓存的目的
- 二、Glide缓存流程
-
- 2.1 Glide缓存的读取顺序
- 2.2 Glide加载资源流程
- 2.3 Glide 的缓存分层结构
- 三、内存缓存原理
- 四、存取原理
-
- 4.1 取数据
- 4.2 存数据
- 4.3 为什么要引入软引用?
- 五、磁盘缓存原理(DiskLruCache)
-
- 5.1 磁盘缓存概述
- 5.2 Glide磁盘缓存策略
- 5.3 Glide磁盘缓存原理
- 六、自定义缓存
-
- 6.1 自定义内存缓存
- 6.2 自定义磁盘缓存
- 6.3 应用自定义缓存
- 6.4 总结
- 七、Glide缓存清理
-
- 7.1 Glide 缓存清理方法
-
- 1. 手动清理缓存
- 2. **自动清理策略**
- 7.2 清理缓存的注意事项
- 八、总结(干货)
一、引入缓存的目的
- 减少流量消耗,加快响应速度;
- Bitmap 的创建/销毁比较耗内存,可能会导致频繁GC;使用缓存可以更加高效地加载 Bitmap,减少卡顿。
二、Glide缓存流程
2.1 Glide缓存的读取顺序
Glide缓存分为内存缓存和磁盘缓存,其中内存缓存是由弱引用+LruCache组成。
- 取的顺序是:弱引用、LruCache、磁盘
- 存的顺序是:磁盘、弱引用、LruCache
注意:关于缓存的存取的入口在
Engine
这个类中
2.2 Glide加载资源流程
-
Glide使用了
ActiveResources(活动缓存弱引用)
+MemoryCache(内存缓存Lru算法&#x