我设法使用以下方法删除由WebView创建的缓存文件:
Clearing android cache, Clear Application cache on exit in android
但是对于Android 4.4,该解决方案无法正常运行,因为文件缓存在:
/data/data/com.app.package/app_webview/
而不是:
/data/data/com.app.package/cache/
上述路径可以通过官方命令getCacheDir()
获得。
一种方法可能是对通过Get Application Directory
获得的路径进行硬编码但是,有没有[官方] /适当的解决方案来解决这个问题?
答案 0 :(得分:1)
您可以使用此代码
private static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (String aChildren : children) {
boolean success = deleteDir(new File(dir, aChildren));
if (!success) {
return false;
}
}
}
// The directory is now empty so delete it
return dir != null && dir.delete();
}
void trimCache() {
try {
String pathadmob = this.getFilesDir().getParent() + "/app_webview";
File dir = new File(pathadmob);
if (dir.isDirectory()) {
deleteDir(dir);
}
} catch (Exception e) {
e.printStackTrace();
}
}
此外,这里生成了所有admob缓存4.4+,您可以使用代码来验证用户使用该应用程序的次数,并在用户达到限制时删除admob缓存。
答案 1 :(得分:0)
通常,要清除WebView缓存,请使用此WebView API:WebView.clearCache(true);