Glide源码分析

2022-04-08  本文已影响0人  独自闯天涯的码农

Glide的github地址

一、Glide缓存

1、缓存分类

活动缓存:在某个Activity范围,页面退出该缓存就不存在
内存缓存:某个App范围,应用完全退出就不存在
磁盘缓存:整个系统,只要不删除数据,就一直存在

2、作用

活动缓存:分担内存缓存的负担,
内存缓存:加快数据读取
磁盘缓存:进行永久性保持

3、流程

1、优先从活动缓存获取
2、活动缓存没有就再内存缓存中寻找
3、内存缓存没有,就去磁盘缓存读取
4、磁盘缓存没有就去网络获取本地文件读取

注意:
图片缓存不会同时存在活动缓存和内存缓存。Glide图片的缓存是最多存在两份:
1是活动或内存缓存
2是磁盘缓存。

4、使用

Glide.with(this)
     .load(url)
     .skipMemoryCache(true)//关闭内存缓存
     .into(imageView);
Glide.with(this)
     .load(url)
     .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)
     .into(imageView);

五种类型:
DiskCacheStrategy.ALL : 表示既缓存原始图片,也缓存转换过后的图片。
DiskCacheStrategy.NONE: 表示不缓存任何内容。
DiskCacheStrategy.RESOURCE: 表示只缓存原始图片。
DiskCacheStrategy.DATA: 表示只缓存转换过后的图片。
DiskCacheStrategy.AUTOMATIC 表示智能判断选择模式(默认选项)。

Glide 图片库使用和原理(一)
Glide 图片库原理(二)
Glide 图片库原理(三)缓存机制

上一篇 下一篇

猜你喜欢

热点阅读