如何清除所有WebView存储的信息?

时间:2017-06-12 14:51:46

标签: android webview android-webview

我有Android浏览器,我可以选择清除缓存,存储空间,Cookie等。

代码如下所示:

webView.clearCache(true);
webView.clearFormData();
webView.clearHistory();
webView.clearSslPreferences();
CookieManager.getInstance().removeAllCookies(null);
CookieManager.getInstance().flush();

这似乎适用于我的所有测试但是当我去google.com时,我的旧搜索仍然存在。我什么不清理?

感谢。

2 个答案:

答案 0 :(得分:1)

找到解决方案:

WebStorage.getInstance().deleteAllData();

答案 1 :(得分:0)

我获得了root-access个授权设备,发现调用WebStorage.getInstance().deleteAllData();和类似代码并未清除cache WebView创建的applicationDatadir/app_webview

此外,该代码有时会导致致命错误,如A/libc: Send stop signal to pid:16145 in void debuggerd_signal_handler(int, siginfo_t*, void*)

而且它(缓存)的大小不是那么小。

要实现这一点,您可以使用以下代码段:

public static void clearWebViewCachesCustom(Context context) {
    try {
        String dataDir = mContext.getPackageManager().getPackageInfo(context.getPackageName(), 0).applicationInfo.dataDir;
        new File(dataDir + "/app_webview/").delete();
    } catch (Exception e) {
        if (!MainActivity.deBugTest) Crashlytics.logException(e);
        e.printStackTrace();
        e.getSuppressed();
    }
}