我想清除正在增加的应用程序的数据缓存程序,现在我正在清除Settings-> Applications-> Manage Application-> My Application-> Clear Cache。
但是我想通过程序化来做,请帮助我。
答案 0 :(得分:7)
当您调用此类时,它将计算所有已安装的应用程序缓存文件,然后只需从手机中删除它,这些文件不会受到数据库或您的个人数据的影响。它会提升您的手机速度并加快速度,删除缓存文件
public class MyApplicationClass extends Application {
private static MyApplicationClass instance;
@Override
public void onCreate()
{
super.onCreate();
instance = this;
}
public static MyApplication getInstance() {
return instance;
}
public void clearApplicationData() {
File cache = getCacheDir();
File appDir = new File(cache.getParent());
if (appDir.exists()) {
String[] children = appDir.list();
for (String s : children) {
if (!s.equals("lib")) {
deleteDir(new File(appDir, s));
Log.i("TAG", "**************** File /data/data/APP_PACKAGE/" + s + " DELETED *******************");
}
}
}
}
public static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
return dir.delete();
}
}
答案 1 :(得分:4)
只是一个猜测:
通过了解缓存目录的绝对路径来删除这些文件 - getCacheDir() - http://d.android.com/reference/android/content/Context.html#getCacheDir()。