Java 什么';为了获得最佳性能,Android游戏的最佳格式是什么?

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

我正在使用SurfaceView类编写一个小型Android游戏。clas的概要如下所示

   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();,以节省额外方法调用的开销,但这不会产生明显的影响。

我没有注意到这一点。这确实更有意义。谢谢:)