Java 什么';为了获得最佳性能,Android游戏的最佳格式是什么?
我正在使用SurfaceView类编写一个小型Android游戏。clas的概要如下所示Java 什么';为了获得最佳性能,Android游戏的最佳格式是什么?,java,android,surfaceview,Java,Android,Surfaceview,我正在使用SurfaceView类编写一个小型Android游戏。clas的概要如下所示 class GameView extends SurfaceView implements Runnable { Thread drawThread; boolean drawThreadIsRunning; Context context; SurfaceHolder surfaceHolder; Canvas canvas; public Game
class GameView extends SurfaceView implements Runnable {
Thread drawThread;
boolean drawThreadIsRunning;
Context context;
SurfaceHolder surfaceHolder;
Canvas canvas;
public GameView(Context context)
{
super(context)
this.context = context;
surfaceHolder = getHolder();
//...
}
public void resume() {
// starts drawing Thread
}
public void pause() {
// stops drawing Thread
}
public void run() {
while (drawThreadIsRunning) {
if (!surfaceHolder.getSurface().isValid())
continue;
canvas = surfaceHolder.lockCanvas();
update(canvas);
surfaceHolder.unlockCanvasAndPost(canvas);
}
}
private void update(canvas)
{
updateCoordinates(canvas);
updateDrawings(canvas);
e.t.c.
}
}
我想知道的是,以我现在的方式使用update()方法是否是个好主意。在画布的锁定和解锁之间,更新方法移动游戏元素,绘制它们,更新分数等等。这会对性能产生负面影响吗?有没有更好的方法来组织这件事?我觉得很好。您唯一能做的就是将调用移动到updateCoordinates();updateDrawings();,以节省额外方法调用的开销,但这不会产生明显的影响。我没有注意到这一点。这确实更有意义。谢谢:)