我有Android浏览器,我可以选择清除缓存,存储空间,Cookie等。
代码如下所示:
webView.clearCache(true);
webView.clearFormData();
webView.clearHistory();
webView.clearSslPreferences();
CookieManager.getInstance().removeAllCookies(null);
CookieManager.getInstance().flush();
这似乎适用于我的所有测试但是当我去google.com时,我的旧搜索仍然存在。我什么不清理?
感谢。
答案 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();
}
}