-
硬件加速的优缺点
硬件加速能使用GPU来加速2D图像的渲染速度,但是硬件加速并不能完全支持所有的渲染操作, 针对自定义的View,硬件加速可能导致渲染出现错误。 如果有自定义的View,需要在硬件加速的设备上进行测试,如果出现渲染的问题,需要关闭硬件加速。 -
对硬件加速的开关可以在不同的级别进行控制:
-
Application
<application android:hardwareAccelerated="true" ...>
-
Activity
<activity android:hardwareAccelerated="false" />
-
Windows
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); -
View
myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
注意: Application、Activity可以开关加速,Windows只能开启加速,View只能关闭加速设置;
-
-
判断一个View是否启用了硬件加速
View.isHardwareAccelerated();或 Canvas.isHardwareAccelerated();或 android:layerType="software"
相关问题:若报错:IllegalStateException: Unable to create layer for WebView, size 1440x12876 exceeds max size 8192,如何解决呢?
不妨关闭某个View的硬件加速试试:
myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
网友评论