Glide已经很强大了 自带缓存清楚功能
清除内存缓存:Glide.get(activity).clearMemory()
清除磁盘缓存:Glide.get(activity).clearDiskCache();
其中需要注意的是:
1 清除内存缓存是在主线程中
2 清除磁盘缓存是在子线程中进行
如果需要自定义缓存到sd卡中 这样清除磁盘缓存才会用的到
1 需要在build gradle 添加依赖
implementation 'com.github.bumptech.glide:glide:4.5.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
2 需要新建一个类集成AppGlideModule
@GlideModule //使用注解
public class GlideDiskCache extends APpGlideModule{
//重写applyOptions方法
int diskCacheSizeBytes = 1024 * 1024 * 10; // 10 MB
//sd卡保存路径
private String sdPath = Environment.getExternalStorageDirectory().getPath();
private String appPath = null;
appPath = context.getCacheDir().getPath();
builder.setDiskCache(
new DiskLruCacheFactory( getStorageDirectory()+"/myglidecache", diskCacheSizeBytes )
);
private String getStorageDirectory(){
return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) ?
sdRootPath : appRootPath;
}
然后就可以修改缓存到指定目录了
下面工具类有获取缓存大小和删除缓存方法
封装的工具类:大家可以查看这边文章 个人推荐下