SurfaceView中是否需要onDraw()?

时间:2014-02-10 06:01:50

标签: android view surfaceview difference

我引用了许多网站以及Android的文档,但我仍然对此感到困惑,

onDraw()View都需要SurfaceView方法。

在使用View并且不使用onDraw()方法时,有人可以解释我如何在SurfaceViewonDraw()中绘制任何内容吗?

谢谢。

1 个答案:

答案 0 :(得分:6)

SurfaceView中没有必要,在View中,因为您有机会获得对画布的引用,因此您可以向视图添加额外的形状/位图,但是表面视图有功能强大的补充类SurfaceHolder,其lockCanvas方法返回对曲面视图画布的引用(无需覆盖onDraw),最重要的是,使用lockCanvas您可以完成所有绘制和处理形状/位图异步(使用unlockCanvasAndPost发布更改),这与onDraw不同,{{1}}取决于主线程和无效查看待执行...

希望它有所帮助。

此致