现在的位置: 首页 > 综合 > 正文

Android绘图心得

2017年12月19日 ⁄ 综合 ⁄ 共 353字 ⁄ 字号 评论关闭

1:为什么要采用双缓冲区技术

因为硬件会不断的将onDraw函数的参数canvas所绑定的内存区域绘制到屏幕上,而且频率很高,如果你直接操作这个canvas的话就会导致

界面看起来有视觉残留的效果,甚至闪动,图片错位等问题 ,所以我们需要建立一个cacheCanvas并为之分配一块cacheBitmap然后将图片绘制到

缓存中,当完成缓冲区的绘制后再一次性的把这块缓冲区的内容绘制到硬件所指向的那块内存区域里。这样就不会闪烁了。

2:为什么要采用绘制脏View的机制

因为如果不采用这种机制,你在onDraw函数里执行过多操作的话,导致onDraw函数执行时间变成,一秒内的帧数就会变少,导致界面卡顿,不流畅

以上2种技术一个是解决了界面闪烁问题,一个是解决了界面卡顿问题,综合以上2种机制可以写出流畅的自定义View

抱歉!评论已关闭.