【问题标题】:Delete cached files - WebView Android 4.4+删除缓存文件 - WebView Android 4.4+
【发布时间】:2013-12-26 22:28:52
【问题描述】:

我设法删除了 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获得的路径

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

【问题讨论】:

    标签: android caching webview chromium


    【解决方案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缓存。

    【讨论】:

      【解决方案2】:

      通常,要清除 WebView 缓存,请使用此 WebView API:WebView.clearCache(true);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-28
        • 1970-01-01
        相关资源
        最近更新 更多