删除缓存的文件 - WebView Android 4.4+

时间:2013-12-26 22:28:52

标签: android caching webview chromium

我设法使用以下方法删除由WebView创建的缓存文件:

Clearing android cacheClear 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

获得的路径进行硬编码

但是,有没有[官方] /适当的解决方案来解决这个问题?

2 个答案:

答案 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);