安卓webview详情(软件加速跟硬件加速)

当我们在使用WebView时,如果加载的网页比较大有很多的图片,如果没有在webview中使用加速器有些手机就会出现闪退出的问题 这时就要启动加速器去进行渲染

webView = (WebView) findViewById(R.id.activity_broad_cast_details_wv_detail);
WebSettings ws = webView.getSettings();
ws.setUseWideViewPort(true);
ws.setLoadWithOverviewMode(true);
ws.setSavePassword(true);
ws.setSaveFormData(true);
ws.setJavaScriptEnabled(true);
ws.setGeolocationEnabled(true);
ws.setGeolocationDatabasePath("/data/data/org.itri.html5webview/databases/");
ws.setDomStorageEnabled(true);
ws.setSupportMultipleWindows(true);
ws.setJavaScriptEnabled(true);
webView.getSettings().setPluginState(PluginState.ON);
if (Build.VERSION.SDK_INT >= 19) {//硬件加速器的使用
webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
} else {
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
xwebchromeclient = new myWebChromeClient();
webView.setWebChromeClient(xwebchromeclient);
// 设置Web视图
webView.setWebViewClient(new IntimateServeActivityViewClient());
webView.loadUrl(url);//
private class IntimateServeActivityViewClient extends WebViewClient {

@Override
public void onPageFinished(WebView view, String url) {
//super.onPageFinished(view, url);
webView.setLayerType(View.LAYER_TYPE_NONE, null);//如果渲染后有视频播发 就得把加速器关闭了

}

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}

以上内容是本人的理解 要是有错欢迎交流 我的qq号:534992085
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值