好的,到目前为止,当我使用SurfaceView时,我会覆盖draw方法,然后从一个单独的线程调用它。但是,最近我试图不覆盖它,只是简单地在自定义方法中进行所有画布绘制调用,并且它有效。我会以同样的方式完成所有绘图,但不是所有的代码都被覆盖的绘制方法,我只是把它全部放在另一个方法中,它仍然有效。最重要的是什么呢?老实说,我还是不知道幕后所有的绘画是如何工作的,因为它没有解释......
答案 0 :(得分:0)
对于SurfaceView
,你注意到自己并没有什么区别。没有必要覆盖draw
,然后自己从单独的线程中调用它。
SurfaceView
只有那里的方法,因为它从View
类继承它,但是因为你是在一个单独的线程中获取对画布的锁定,绘制然后释放,如果您将其传递给draw
方法,如果直接在线程run
或其他Runnable
上使用
也许有人会认为它更有条理(而且永远不要低估组织良好的代码的重要性),但这不是必需品。