最近在一个项目中需要,加载一个第三方的插件,插件一个很重要的功能就是左右滑动,测试过程中发现对于那些中低端机型,例如某米note,就会花屏。通过查阅资料,调试发现原来是在图片渲染过程中开启了硬件加速,硬件加速对图片渲染更加迅速,加载页面也就更加迅捷,可是某些低端机型,可能是手机GPU功能缺陷,比如驱动啊什么的设计漏洞,就导致了在硬件加速过程中产生了 花屏的bug。
既然找到了这个问题点,我们就来解决该问题,找到该插件所嵌入的View,调用方法:
setLayerType(View.LAYER_TYPE_SOFTWARE,null);
例如在我的项目中,嵌入的view是webView,所以用法很简单:
webView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
至于图片渲染这一块,有兴趣和余力的可以去好好研究一番。