项目中webview在小米8闪烁的问题

原因:WebView在Android5.0开始默认开启了硬件加速,从Android3.0(API Level 11)开始,支持硬件加速,可充分利用GPU的特性,使得界面渲染更加平滑,但是会消耗更多内存RAM。但是硬件加速自身并非完美,在某些Android5.0的rom上,由于内存RAM分配的问题,如果代码不当,会引发闪屏、花屏等渲染问题
解决方式:
1、 AndroidManifest.xml中的Activity配置:android:hardwareAccelerated="false"
2、WebView xml中:android:layerType="software",ListView(或者外层嵌套ScrollView)android:layerType="software”
3、Java代码设置:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
          mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        }

注意有可能关闭加速后会有帧率波动,视情况而定

 

by磊磊tua

posted @ 2020-02-01 10:19  WidgetBox  阅读(593)  评论(0编辑  收藏  举报