我试图在我的应用程序中计算总缓存大小(MB),但它一直给我零。有人能解释一下吗?请帮我计算缓存大小。下面是我的代码
private void initializeCache() {
long size = 0;
size += getDirSize(this.getCacheDir());
size += getDirSize(this.getExternalCacheDir());
Toast.makeText(MainActivity.this,""+size,Toast.LENGTH_LONG).show();
}
public long getDirSize(File dir){
long size = 0;
for (File file : dir.listFiles()) {
if (file != null && file.isDirectory()) {
size += getDirSize(file);
} else if (file != null && file.isFile()) {
size += file.length();
}
}
return size;
}
在AndroidMenifest.xml文件中授予此权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>