【发布时间】:2011-09-09 09:00:24
【问题描述】:
安卓游戏用什么比较好:
-
带有渲染线程的
SurfaceView或
带有调用
SurfaceView函数doDraw()的线程的SurfaceView
谢谢。
【问题讨论】:
标签: android surfaceview ondraw
安卓游戏用什么比较好:
带有渲染线程的SurfaceView
或
带有调用SurfaceView函数doDraw()的线程的SurfaceView
谢谢。
【问题讨论】:
标签: android surfaceview ondraw
SurfaceView 中的绘图已在单独的线程中处理。你不需要产生一个新的。
请参阅API doc 了解它:
这个类的一个目的是提供一个表面,辅助线程可以在其中渲染到屏幕中。如果你打算这样使用它,你需要了解一些线程语义:
- 所有 SurfaceView 和 SurfaceHolder.Callback 方法都将从运行 SurfaceView 窗口的线程(通常是应用程序的主线程)中调用。因此,它们需要与绘图线程也触及的任何状态正确同步。
- 您必须确保绘图线程仅在其有效时接触底层 Surface —— 在 SurfaceHolder.Callback.surfaceCreated() 和 SurfaceHolder.Callback.surfaceDestroyed() 之间。
【讨论】:
MySurfaceView.doDraw() 方法,我认为让它与SurfaceHolder 保持同步会很麻烦。为什么要重新发明轮子?