WebView常见问题

2017-12-29  本文已影响0人  huifeideyv

Webview 加载活动列表在在部分手机上空白显示,尝试的几种方式。

1、xml的WebView标签中添加android:layerType="hardware"

2、xml的WebView标签中添加android:layerType="software"

3、WebViewActivity中添加

protected void onDestroy() {

Logger.i("WebViewActivity onDestroy:", "webView:" + webView);

CookieSyncManager.createInstance(this);        CookieManager cookieManager = CookieManager.getInstance();        cookieManager.removeAllCookie();        CookieSyncManager.getInstance().sync();

if (webView != null) {

webView.setWebChromeClient(null);

webView.setWebViewClient(null);

webView.getSettings().setJavaScriptEnabled(false);

webView.clearCache(true);

webView.removeAllViews();

webView.destroy();

}

super.onDestroy();

}

4、 LoadUrl时,设置以下:

 webView.clearCache(true);

webView.clearHistory();

webView.getSettings().setJavaScriptEnabled(true);//设置能够解析JavaScript

webView.getSettings().setSupportZoom(true); // 支持缩放

webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); // 不加载缓存

webView.getSettings().setDomStorageEnabled(true);//设置适应HTML5的一些方法

webView.getSettings().setAppCachePath(getApplicationContext().getCacheDir().getAbsolutePath());

webView.getSettings().setAllowFileAccess(true);

webView.getSettings().setAppCacheEnabled(true);

webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);

5、   

@Override

public void onPageFinished(WebView view, String url) {

super.onPageFinished(view, url);

mWebView.setLayerType(View.LAYER_TYPE_HARDWARE,null);

}

6:在onPause()中加上这句

mWebView.loadUrl("about:blank");

WebSettings settings =webView.getSettings();        settings.setJavaScriptEnabled(true);        settings.setDefaultTextEncodingName("utf-8");//        settings.setAppCacheEnabled(false);        settings.setCacheMode(WebSettings.LOAD_NO_CACHE);        settings.setDomStorageEnabled(true);//设置适应HTML5的一些方法//        settings.setBuiltInZoomControls(false);//        settings.setAllowFileAccess(true);//        settings.setUseWideViewPort(false);//        settings.setLoadWithOverviewMode(true);//        if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){//            settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);//        }

String call ="javascript:getUserToken('"+token+"')";

String call ="javascript:getUserToken('tokendf')";

webView.loadUrl(call);

上一篇 下一篇

猜你喜欢

热点阅读