Java Android Webview从缓存加载只在第二次时才能完美工作
我用以下代码加载了网页:Java Android Webview从缓存加载只在第二次时才能完美工作,java,android,webview,Java,Android,Webview,我用以下代码加载了网页: final String url = getIntent().getStringExtra("url"); webView = (WebView) findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWO
final String url = getIntent().getStringExtra("url");
webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setDatabaseEnabled(true);
String path = getFilesDir().getAbsolutePath()+"/webcache";
webView.getSettings().setDatabasePath(path);
webView.getSettings().setAppCachePath(path);
webView.getSettings().setAppCacheEnabled(true);
webView.post(new Runnable() {
@Override
public void run() {
webView.loadUrl(url);
}
});
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
webView.loadUrl(url);
return true;
}
});
首先,我用网络运行它,然后我断开网络以让它从缓存加载。但它每两次只能正常加载一次。
就像这样:第一次:
第二次:
(第三个与第一个相同,第四个与第二个相同……)
我在so上发现了类似的问题:
我已经尝试了所有有问题的解决方案,甚至尝试禁用硬件加速,但都不起作用……
任何建议都将不胜感激。
提前谢谢。(很抱歉给我添麻烦英语:)
我很想看到这个问题的答案,因为链接的问题实际上没有真正的答案。我相信股票webview/webviewclient中可能存在漏洞。