如何在android programmaticaly中计算缓存大小?

时间:2016-05-11 07:46:33

标签: android caching

  

我正在尝试在我的应用中以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;
}

1 个答案:

答案 0 :(得分:0)

在AndroidMenifest.xml文件中授予此权限。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>