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;
}
나는 우르 생각을 좋아해, 나는 쉬운 일을 찾기 위해 일하고있다. "surfaceDestroyed"는 매번 호출되지 않기 때문에 "onPause"가 호출되기 때문입니다. 그냥 "전원"버튼을 누른 다음 돌아갑니다. 그래서 당신의 선택이 정말로 좋은 것이라고 생각합니다. –