再次运行时,Android WebView速度很慢

时间:2019-04-25 10:48:58

标签: android performance webview

我正在创建一个Android应用程序以显示一个网页。在移动设备上安装应用程序时,首次运行速度很快。如果我单击网页中的“按钮”,则会立即触发充电。但是当关闭应用程序添加重新启动时,WebView变慢。加载需要更多时间,并且按钮滞后。

我发现删除应用程序文件夹上的app_webview文件夹并重新启动应用程序,应用程序运行速度很快。如果我关闭应用程序并重新启动,则应用程序再次变慢。

这种放缓的原因是什么?有可能解决吗?

这是我的配置:

    mWebView.setListener(this, this);
    mWebView.setInitialScale(0);
    mWebView.setVerticalScrollBarEnabled(true);
    mWebView.setGeolocationEnabled(true);
    mWebView.setMixedContentAllowed(true);
    mWebView.setCookiesEnabled(true);
    mWebView.setThirdPartyCookiesEnabled(true);
    mWebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG);
    mWebView.addJavascriptInterface(new JavaBridge(this, mWebView), "JavaBridge");
    mWebView.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageFinished(WebView view, String url) {
            String cookies = CookieManager.getInstance().getCookie(url);
            Log.d("COOKIE", "All the cookies in a string:" + cookies);
        }

    });

    mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);

    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
    mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    mWebView.getSettings().setAppCacheEnabled(false);

    mWebView.setWebChromeClient(new WebChromeClient() {

        @Override
        public void onReceivedTitle(WebView view, String title) {
            super.onReceivedTitle(view, title);
            //Toast.makeText(MainActivity.this, title, Toast.LENGTH_SHORT).show();
        }

    });

    mWebView.addHttpHeader("X-Requested-With", "");

    mWebView.loadUrl(url);

非常感谢!!问候

0 个答案:

没有答案