本文主要介绍了如何配置和管理Glide中的缓存,其中大部分内容都可以直接在官方Wiki中找到,这里只是进行了整理和汇总。言归正传,Glide支持图片的
二级缓存(并不是三级缓存,因为从网络加载并不属于缓存),即内存缓存和磁盘缓存。
磁盘缓存
一般的图片缓存指的就是磁盘缓存,把网络上的图片缓存到本地,这样就不需要每次都从网络加载,既提高了加载速度,又为用户节省了流量。
Glide在默认情况下是开启磁盘缓存的,而且提供了丰富的API来让开发者自己配置和管理磁盘缓存。
缓存位置和大小
开发者可以通过构建一个自定义的GlideModule来配置Glide磁盘缓存的位置和大小。最简单的方法如下:
public class DiskCacheMoudle implements GlideModule {
@Override
public void applyOptions(Context context, GlideBuilder builder) {
builder.setDiskCache(
new InternalCacheDiskCacheFactory(context, "glide_cache", 100 * 1024 * 1024));//builder.setDiskCache(
new ExternalCacheDiskCacheFactory(context, "glide_cache", 100 * 1024 * 1024));}
@Override
public void registerComponents(Context context, Glide glide) {
}
}
InternalCache构建的缓存是在应用的内部储存,而ExternalCache则是在外部储存。
如果不想把缓存放在上面的两个位置怎么办?Glide当然也支持,具体通过DiskLruCacheF