五、Android绘制知识总结(Xfermode和硬件加速)
💡
原文中文,约7600字,阅读约需19分钟。
📝
内容提要
本文总结了Android绘制中的Xfermode和硬件加速知识,介绍了Xfermode的作用和常用的子类PorterDuffXfermode,以及硬件加速对绘制效率的提升。同时提醒注意不支持硬件加速的操作,可以通过设置属性或调用方法来开启或关闭硬件加速。
🎯
关键要点
- Xfermode用于定义图层之间的混合形式,计算像素点的规则。
- API16之前有三个Xfermode子类,但API16后AvoidXfermode和PixelXorXfermode已过期,仅需学习PorterDuffXfermode。
- PorterDuffXfermode由Porter和Duff在1984年提出,提供18种混合模式。
- PorterDuff.Mode包括CLEAR、SRC、DST、SRC_OVER等多种模式,适用于不同的绘制需求。
- 绘制时需根据源图和目标图的需求选择合适的混合模式。
- 硬件加速可以提升绘制效率,但某些操作不支持硬件加速,需注意。
- 可以通过应用、活动、窗口和视图四个级别控制硬件加速的开启或关闭。
- 检测硬件加速状态的方法包括view.isHardwareAccelerated()和canvas.isHardwareAccelerated()。
➡️