我使用以下代码加载网页:
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;
}
});
首先,我使用网络运行它,然后我断开网络以便从缓存中加载它。但它只能每两次加载一次。
就像这样:
第一次:
(第三个与第一个相同,第四个与第二个相同......)
我发现了类似的问题:WebView must be loaded twice to load correctly
我已经在this问题下尝试了所有解决方案,甚至尝试禁用硬件加速,但是没有工作....
任何建议都将不胜感激。
提前致谢。(对不起我的麻烦英语:))