从缓存加载的Android Webview仅在第二次完美运行

时间:2015-11-11 03:34:36

标签: 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_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;
        }
    });

首先,我使用网络运行它,然后我断开网络以便从缓存中加载它。但它只能每两次加载一次。 就像这样:
第一次:
enter image description here

第二次:
enter image description here

(第三个与第一个相同,第四个与第二个相同......)
我发现了类似的问题:WebView must be loaded twice to load correctly
我已经在this问题下尝试了所有解决方案,甚至尝试禁用硬件加速,但是没有工作....

任何建议都将不胜感激。

提前致谢。(对不起我的麻烦英语:))

0 个答案:

没有答案