我想在我的android应用程序中清除缓存并实现这一点我使用了下面给出的两种方法,但是在调用deleteCache(getApplicationContext())后缓存没有被清除。这个问题在SO中被多次询问,但没有一个答案似乎对我有帮助。以下是我使用的方法。谢谢你的帮助。
public static void deleteCache(Context context) {
try {
File dir = context.getCacheDir();
if (dir != null && dir.isDirectory()) {
deleteDir(dir);
}
} catch (Exception e) {}
}
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();
}
答案 0 :(得分:0)
由于您没有提及您所面临的任何特定日志或问题,[&#34;没有工作&#34;不是具体问题:)]
试试这个 -
private void deleteRecursive(File fileOrDirectory) {
if (fileOrDirectory.isDirectory())
for (File child : fileOrDirectory.listFiles())
deleteRecursive(child);
fileOrDirectory.delete();
}
// from the point you want to clear-
deleteRecursive(context.getCacheDir());