双缓存技术
双缓存技术就是有两个绘图区,一个是Bitmap的Canvas,另一个就是当前View的Canvas。先将图形绘制在Bitmap上,然后再将Bitmap绘制在View上,也就是说,我们在View上看到的效果其实是Bitmap上的内容。这样做的意义有以下几点:
1 . 提高绘图性能:
先将内容绘制在Bitmap上,再统一将内容绘制在View上,可以提高绘图的性能;
2 . 可以在屏幕上展示绘图的过程:
将线条直接绘制在View上和先绘制在Bitmap上再绘制在View上是感受不到这个作用的。在View的onDraw()方法中绘制用于展示绘制过程的矩形,在手指移动的过程中,会不断刷新重绘,用户总能看到当前应用的大小的矩形,而且不会留下历史痕迹,因为重绘了,只会显示最后的一次。
3 . 保存绘图历史:
因为直接在View的Canvas上绘图不会保存历史痕迹。使用双缓存以后,可以将绘制的历史结果保存在一个Bitmap上,当绘制结束后,将最后的矩形绘制在Bitmap上,同时再将Bitmap的内容整个绘制在View上。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-----------------------last line for now-----------------------