我正在尝试在我的应用中以MB为单位计算总缓存大小,但它一直给我Zero。任何人都可以解释我。请帮我计算缓存大小。 下面我有我的代码
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;
}
答案 0 :(得分:0)
在AndroidMenifest.xml文件中授予此权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>