我有一个surfaceView设置和运行,但是当我恢复它时,我得到一个线程已经启动的错误。什么是应用程序进入后台然后回到前台的正确方法?我修了一下,并设法让应用程序回来而不会崩溃...但SurfaceView不再绘制对象。我的代码:如何暂停和恢复surfaceView线程
@Override
public void surfaceCreated(SurfaceHolder holder) {
Log.e("sys","surfaceCreated was called.");
if(systemState==BACKGROUND){
thread.setRunning(true);
}
else {
thread.setRunning(true);
thread.start();
Log.e("sys","started thread");
systemState=READY;
}
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
Log.e("sys","surfaceDestroyed was called.");
thread.setRunning(false);
systemState=BACKGROUND;
}
我爱Ur的想法,我一直在努力寻找一些容易。因为“surfaceDestroyed”不是每次都调用,而是“onPause”。就像按下“电源”按钮然后返回。所以我认为你的选择是一个非常好的选择。 – 2010-10-30 02:34:49