如何在android程序中计算缓存大小



我试图在我的应用程序中计算总缓存大小(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"/>

最新更新