删除缓存文件 - WebView Android 4.4+

5

我成功地使用以下方法删除了由WebView创建的缓存文件:

清除Android缓存, 在Android上退出时清除应用程序缓存

然而,对于Android 4.4,该解决方案不起作用,因为文件被缓存在以下位置:

/data/data/com.app.package/app_webview/

替代:

/data/data/com.app.package/cache/

上述路径可以通过官方命令getCacheDir()获得。

一种方法是硬编码通过获取应用程序目录获得的路径。

然而,是否有任何[官方]/适当的解决方案来解决这个问题?

2个回答

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缓存。

0
通常情况下,要清除 WebView 缓存,请使用以下 WebView API:WebView.clearCache(true);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接