4

在我的 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”

我非常感谢您能提供的任何帮助。

4

0 回答 0