Glide作为图片缓存,清除缓存的合理方法
2017-05-31 15:54
176 查看
1.glide提供的方法:
下面是glide缓存的配置
public class GlideCache implements GlideModule { @Override public void applyOptions(Context context, GlideBuilder builder) { //设置图片的显示格式ARGB_8888(指图片大小为32bit) builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888); //设置磁盘缓存目录(和创建的缓存目录相同) String downloadDirectoryPath = Config.CacheImagePath+ "GlideCache"; //设置缓存的大小为100M int cacheSize = 100 * 1000 * 1000; builder.setDiskCache(new DiskLruCacheFactory(downloadDirectoryPath, cacheSize)); } @Override public void registerComponents(Context context, Glide glide) { } }
Glide.get(SettingActivity.this).clearDiskCache();
使用该方法可以安全的解决删除图片缓存
2.直接删除glide文件夹 简单粗暴删除
// 按目录删除文件夹文件方法 public static boolean deleteFolderFile(String filePath, boolean deleteThisPath) { try { File file = new File(filePath); if (file.isDirectory()) { File files[] = file.listFiles(); for (File file1 : files) { deleteFolderFile(file1.getAbsolutePath(), true); } } if (deleteThisPath) { if (!file.isDirectory()) { file.delete(); } else { if (file.listFiles().length == 0) { file.delete(); } } } return true; } catch (Exception e) { e.printStackTrace(); return false; } }
使用该方法 虽然可以删除文件夹 但是会出现 页面的图片无法显示了glide加载图片异常了 必须重新启动程序
所以该方法是不建议使用的
总结:
但是有时候我们图片文件夹缓存可能不只glide一个文件夹
可以特殊处理对于父类文件除了glide的直接删除 glide的缓存推荐使用第一种glide方法删除
// 按目录删除文件夹文件方法除了exceptpublic static boolean deleteFolderFile(String filePath, boolean deleteThisPath,String except) {try {File file = new File(filePath);if (file.isDirectory()) {File files[] = file.listFiles();for (File file1 : files) {if(!file1.getAbsolutePath().equals(except)) {deleteFolderFile(file1.getAbsolutePath(), true);}}}if (deleteThisPath) {if (!file.isDirectory()) {file.delete();} else {if (file.listFiles().length == 0) {file.delete();}}}return true;} catch (Exception e) {e.printStackTrace();return false;}}
相关文章推荐
- Ajax清除浏览器js、css、图片缓存的方法
- Glide获取缓存大小并清除缓存图片
- Ajax清除浏览器js、css、图片缓存的方法
- Glide获取缓存大小并清除缓存图片
- 图片磁盘缓存量的大小显示和,清除缓存实现 ------ 基于glide
- Glide的缓存图片,清除缓存
- Glide获取缓存大小并清除缓存图片
- SDWebImage -- 判断缓存图片的大小(所占字节数)、手動清除緩存的方法
- (源码分析)Glide(图片异步加载缓存库)的方法介绍
- Glide获取缓存大小并清除缓存图片
- Glide(图片异步加载缓存库)的方法介绍
- Glide缓存图片清除缓存,百度地图定位
- Glide 缓存工具例子,缓存大小获取,磁盘缓存清除(2 种方法),内存缓存清除
- 图片下载缓存库Picasso清除缓存方法
- Ajax清除浏览器js、css、图片缓存的方法
- SDWebImage使用——一个可管理远程图片加载的类库+ SDWebImage手动清除缓存的方法
- Android中Glide获取缓存大小并清除缓存图片
- 网页清除缓存方法
- SQL Server 索引基础知识(3)----测试中一些常看的指标和清除缓存的方法
- sqlserver 中一些常看的指标和清除缓存的方法