1.硬件加速闪屏问题:硬件加速是必须开的,最好是在清单文件中加,不要动态设置硬件加速,因为会致使某些机型webview闪屏 严重。夜间模式下一些机型打开webview会出现闪白的情况,我们需要给webview设置一个背景
webView.setBackgroundColor(Color.TRANSPARENT);
还是不行的话 可以重写WebViewClient在onpageFinished()方法中动态注入JS调整背景色
//下面的JS方法的调用 解决了 夜间模式下白屏一下的现象
webView.loadUrl("javascript:function getSub(){" + "document.getElementsByTagName('body')[0].style.background='#2A2A2C'" + "};getSub();");
2.webview优化
@Override
protected void onDestroy() {
//清除网页访问留下的缓存
//由于内核缓存是全局的因此这个方法不仅仅针对webview而是针对整个应用程序.
if (webView != null) {
webView.loadDataWithBaseURL(null, "", "text/html", "utf-8", null);
webView.clearCache(true);
webView.clearHistory();
webView.clearFormData();
((ViewGroup) webView.getParent()).removeView(webView);
//释放资源
webView.destroy();
webView = null;
}
getCacheDir().delete();
super.onDestroy();
}
3.修改字体大小
方式有两种:第一、settings.setTextZoom(100) 括号中是百分比,设置默认字体大小的百分之多少
第二、settings.setTextSize(WebSettings.TextSize.NORMAL);
settings.setTextSize(WebSettings.TextSize.LARGER);