在我的 Android 应用程序中,我使用 WebView 并遇到了缓存问题。缓存文件后,WebView 将永远保留它(或至少在我手动删除缓存之前)。
在 Apache Access-Log 中,我看到一旦文件被缓存,WebView 就不会发送请求。如何使用常见的 ETag 和 HTTP-Code 304 设置 WebView 以发送检查文件是否过期的请求?在桌面浏览器(Firefox、Chrome)上,缓存按预期工作。
这是我的代码:
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.setWebViewClient(new EWebViewClient(this));
webView.getSettings().setBuiltInZoomControls(false);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
webView.setWebChromeClient(new EWebChromeClient(this));
webView.setBackgroundColor(Color.argb(1,0,0,0));
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
webView.loadUrl(url);
EWebViewClient 仅覆盖:“shouldOverrideUrlLoading, onPageFinished, onLoadResource, onReceivedError”
我非常感谢您能提供的任何帮助。