在android中为特定包计算缓存大小

时间:2013-07-05 09:34:38

标签: android caching android-activity

我正在尝试开发一个可以计算缓存大小的Android应用程序,到目前为止,我无法计算Android中的所有应用缓存,但最近我遇到了PackageStats类,问题PackageStats class是变量public long cacheSize它总是重新发送0,这是我的代码

PackageStats pStats = new PackageStats("/data/data/com.android.browser/cache");
System.out.println("Cache Size -> "+pStats.cacheSize);

在这里,我总是得到0 com.android.browser包的实际缓存大小为884KB 请帮我解决这个谜题,提前谢谢。

1 个答案:

答案 0 :(得分:0)

为什么不尝试这个:

long f=0;
File[] files = cacheDir.listFiles();
for (File f:files) {
    size = size+f.length();

}

修改 波纹管方法会抛出异常吗?

getCacheDir().length() or getExternalCacheDir().length()