2012-11-05 3 views
0

Android에서 비디오 게임을 개발 중입니다. 그것을 위해, 나는 게임 루프와 그것이 내포하는 모든 전형적인 것들을 사용하고 있습니다. 나는 안드로이드에서 활동의 상태에 대해 의심이 있습니다.Android에서 게임 시작 및 중지에 대한 이해

GLSurfaceView를 만들기위한 활동이 필요하므로 문제는 onCreate 메소드를 완료하면 onCreate -> onResume -> onStart -> onStop과 같이 계속됩니다. 나는 활동이 아무 것도 할 필요가 없기 때문에 그 상태를 통과 할 것이라고 생각한다. 하지만이 문제에 문제가 있습니다.

사용자가 장치를 "최소화"하거나 대기 상태로 만들 때 어떻게 알 수 있습니까? 다시, onStop -> onResume -> onStart 메소드가 트리거되지만, 이번에는 처음과 어떻게 다를 수 있습니까?

사용자가 대기 모드로 전환 할 때 루프를 중지해야하지만 처음 시작할 때 루프를 중지해야합니다.

나는 잘 설명하기를 바랍니다. 감사.

+0

끝내지 않으면 활동이 멈추지 않거나 배경으로 이동하여 파괴됩니다. 활동 코드를 게시하고 루프를 만들고 시작하는 방법을 알려주십시오. – Simon

답변

0

onStop이 onStart 직후에 실행 중이면 잘못된 것이 있습니다. 활동은 더 이상 사용자에게 표시되지 않는 경우에만 중지됨 상태가됩니다. 어쩌면 코드가 포어 그라운드 액티비티로 전환하는 다른 액티비티를 즉시 생성하지 않는 한, 액티비티가 화면에 표시되면 onStop이 실행되지 않아야합니다. 일부 코드는이를 진단하는 데 도움이됩니다.

활동이 여전히 표시되지만 다시 시작될 때 활동이 발생하면 onPause가 발생합니다. 사용자가 앱에서 나갈 때 게임 데이터 등을 저장하려고 할 때 전화를 받거나 화면을 끈다면 onStop을 호출 할 수 없으므로 실행하는 것이 좋습니다. 당신이해야 할 일을하기 전에 당신의 활동을 죽이는 특정 상황에서의 위험.

활동주기에 대한 자세한 내용은 Activities guide을 참조하십시오.