自定义View笔记-GPU硬件加速
定义
- GPU可以看做是处理器CPU单独把图像处理部分单独拿出来做的一个硬件设备,相对于原cpu来说,他可以更高效的做一些的图像处理的事件
- 在android API11之后才加入了GPU这个东西,在API14之后,是默认开启硬件加速的,也就是默认用GPU做图像处理的
GPU与CPU绘图的区别
CPU
- 视图按照两个步骤绘制
- 让View层次结构失效
- 绘制View层次结构
GPU
- 绘制按照三个步骤绘制
- 让View层次结构失效
- 记录、更新显示列表
- 绘制显示列表
硬件加速的特点
- 优点
- 提高了Android系统显示和刷新的速度
- 缺点
- 由于是将绘制函数转换成OpenGL命令来绘制,定然会存在OpenGL并不能完全支持原始绘制函数的问题,所以这就会造成在打开GPU加速时,效果会失效的问题
- 由于需要OpenGL的指令,所以需要把系统中的OpenGL相关的包加载到内存中来,所以单纯OpenGL API调用就会占用8MB,而实际上会占用更多内存
- 多使用了一个部件,当然会更耗电……
GPU加速的使用
- 如果要禁用这个功能,可以从全局(Application)、Activity、Window、View 四个层级来操作
- 其中window层不支持开启硬件加速,View层不支持关闭硬件加速