Programming with SurfaceView and thread strategy for game development Programming with SurfaceView and thread strategy for game development multithreading multithreading

Programming with SurfaceView and thread strategy for game development


the solution is here

public void surfaceCreated(SurfaceHolder holder){            if (plot_thread.getState() == Thread.State.TERMINATED) {                plot_thread = new WaveformPlotThread(getHolder(), this);                plot_thread.setRunning(true);                plot_thread.start();            }            else {                plot_thread.setRunning(true);                plot_thread.start();            }        }


I hope it can help

@Overridepublic void surfaceCreated(SurfaceHolder holder) {   //if it is the first time the thread starts   if(thread.getState() == Thread.State.NEW){    thread.setRunning(true);//riga originale    thread.start();//riga originale   }   //after a pause it starts the thread again   else   if (thread.getState() == Thread.State.TERMINATED){       thread = new MainThread(getHolder(), this);       thread.setRunning(true);       thread.start();  // Start a new thread       }   }

and this

    @Override    protected void onPause() {    Log.d(TAG, "Pausing...");    MainThread.running=false;//this is the value for stop the loop in the run()    super.onPause();    }


I've been dealing with the same issue. I'm learning about game development on Android and also based my first project on the Lunar Lander example. I found that the SpriteMethodTest project created by Chris Pruett implements a much better approach in terms of thread management. It's all about using notify and wait methods, though. I couldn't tell whether it's better than your solution or not.