1.计算
File cacheDir = Glide.getPhotoCacheDir(this);
File parentFile = cacheDir.getParentFile();
long size = GlideUtils.getDirSize(parentFile);
String sizeText = GlideUtils.byteConversionGBMBKB(size);
Log.e("glide_size", sizeText);
getDirSize
public static long getDirSize(File dir) {
if (dir == null) {
return 0;
}
if (!dir.isDirectory()) {
return 0;
}
long dirSize = 0;
File[] files = dir.listFiles();
for (File file : files) {
if (file.isFile()) {
dirSize += file.length();
} else if (file.isDirectory()) {
dirSize += file.length();
dirSize += getDirSize(file); // 递归调用继续统计
}
}
return dirSize;
}
byteConversionGBMBKB
private static final double GB = 1024L * 1024L * 1024L;// 定义GB的计算常量
private static final double MB = 1024L * 1024L;// 定义MB的计算常量
private static final double KB = 1024L;// 定义KB的计算常量
public static String byteConversionGBMBKB(double kSize) {
DecimalFormat df = new DecimalFormat("#.00");
double temp = 0;
if (kSize / GB >= 1) {
temp = kSize / GB;
return df.format(temp) + "GB";
} else if (kSize / MB >= 1) {
temp = kSize / MB;
return df.format(temp) + "MB";
} else if (kSize / KB >= 1) {
temp = kSize / KB;
return df.format(temp) + "KB";
}
return kSize + "B";
}
2.清除缓存
new Thread(new Runnable() {
@Override
public void run() {
Glide.get(MainActivity.this).clearDiskCache();
}
}).start();
}
网友评论