현재 Opengl로 게임을 만들고 있습니다.

 

폰이 켜있는 상태는 문제가없는데 게임중 전원 버튼으로 껐다 켰을때 문제가 생깁니다.

 

디버깅 및 로그등을 찍어보니 onDestroy() 함수가 호출되더군요.

onDestroy() 함수가 호출되는게 원래 그런건지 이곳저곳 찾아봐도 관련된 내용은 찾기가 힘들더군요.

 

현재 테스트하는 폰은 넥서스s입니다.

전원버튼이라고 해서 잘못들으실 수 도 있는데 완전 종료가 아닌 껐다가 바로 켰을때 입니다.

 

1. 처음 버튼으로 화면을 껐을때

onPause() -> onStop() -> onDestroy()

 

2. 바로 전원버튼으로 화면을 켰을때  ( 장금화면 출력됨 )

onCreate() -> onStart() -> onResume()

 

3, 패턴 입력후 게임화면으로 왔을때

onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume()

 

이런식으로 호출이 됩니다.

 

원래 이런식으로 호출되는게 맞는건가요?  다른분들은 어떻게 처리하셨는지 궁금합니다.

만약 이게 맞는거라면 onCreate() 가 2번이나 호출되어 여러가지 문제가 생기고 있습니다.

 

데이터들은 전역으로 관리해서 초기화 되거나 하진 않습니다. 하지만 메모리 누수가 생기더군요...ㅠ

onDestroy()까지 호출되리라고는 생각도 못했습니다.

 

혹시 이부분에서 추가적으로 처리해주어야 하는 부분이 있는지 도와주세요 ..,..ㅠㅠ