温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

安卓webview缓存怎么清

发布时间:2026-09-01 10:42:18 来源:亿速云 阅读:96 作者:小樊 栏目:移动开发

在 Android 的 WebView 中,“清缓存”一般有几种不同层级,取决于你想清的是哪一类数据。下面按常见场景给你说明。


一、清除 WebView 缓存(最常用)

WebView webView = findViewById(R.id.webview);

// 清除缓存(API 18 以上推荐方式)
webView.clearCache(true);

// 清除历史记录
webView.clearHistory();

⚠️ 注意:

  • clearCache(true) 会清除 磁盘缓存(图片、JS、CSS 等)
  • clearHistory() 只是清除后退记录,不删缓存

二、清除 Cookie(登录态常见)

// 方式 1(推荐,API 21+)
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookies(null);
cookieManager.flush();

// 方式 2(旧版本兼容)
CookieSyncManager.createInstance(context);
CookieManager.getInstance().removeAllCookie();

三、清除 localStorage / sessionStorage(H5 存储)

webView.getSettings().setDomStorageEnabled(true);
webView.evaluateJavascript("localStorage.clear(); sessionStorage.clear();", null);

或者:

webView.clearFormData(); // 表单数据

四、清除所有 WebView 数据(最彻底)

WebView webView = new WebView(context);
webView.clearCache(true);
webView.clearFormData();
webView.clearHistory();
webView.clearMatches();

如果应用中有多个 WebView,建议 统一清理

CookieManager.getInstance().removeAllCookies(null);
WebViewDatabase.getInstance(context).clearUsernamePassword();
WebViewDatabase.getInstance(context).clearHttpAuthUsernamePassword();

五、Android 系统级 WebView 缓存(全局)

如果你是想清 整个系统的 WebView 缓存(不止你 App):

  1. 设置 → 应用管理
  2. 找到 Android System WebView
  3. 存储 → 清除缓存 / 清除数据

六、开发中常见建议

✅ 调试时:

webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

✅ 发布版本:

webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);

总结速查表

类型 方法
网页缓存 clearCache(true)
Cookie CookieManager.removeAllCookies()
localStorage evaluateJavascript
历史记录 clearHistory()
全部 组合清空

如果你说的是 某个具体场景(比如:H5 页面不刷新、登录态清不掉、微信/小程序 WebView),可以告诉我,我给你更精准的方案。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI