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;
}