使用 SurfaceView 绘制画布

在使用之前了解表面视图的基本概念非常重要:

  • 它基本上只是当前窗口中的一个洞
  • 原生 UI 可以放在它上面
  • 使用专用的非 UI 线程完成绘图
  • 绘图不是硬件加速
  • 使用两个缓冲区:当前显示一个缓冲区,一个用于绘图。
  • unlockCanvasAndPost() 交换缓冲区。

如果未按正确顺序调用 lockCanvas()unlockCanvasAndPost() 方法,则很容易发生死锁。