项目中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