我正在尝试开发一个可以计算缓存大小的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
请帮我解决这个谜题,提前谢谢。
答案 0 :(得分:0)
为什么不尝试这个:
long f=0;
File[] files = cacheDir.listFiles();
for (File f:files) {
size = size+f.length();
}
修改强> 波纹管方法会抛出异常吗?
getCacheDir().length() or getExternalCacheDir().length()