본문 바로가기

프로그래밍/Android

폰 화면 껐다 켰는데 onDestroy() 호출??

안드로이드 개발을 하다가 보면 많은 어려움에 힘들어할 때가 있습니다.ㅎ

저도 그러한 많은 어려움을 겪어왔고, 오늘도 어려움에 부딪혔죠.
원래 폰 화면을 끄면 Activity는 당연히 onPause()와 onStop()이 호출되어야하는데, 이상하게 onDestroy()까지 호출되더군요..;;

한참을 찾아 헤매다가 알아낸 결과입니다.

메니페스트에서 폰 화면을 한쪽으로 지정해 둘 경우(어쩌면 가로 모드일때만의 문제일 수도 있습니다. 이 부분은 테스트해보지 않았습니다.), 화면이 꺼지면 onDestroy()가 호출되고 다시 onCreate()가 호출되어 액티비티가 새로 생성됩니다.

이렇게 가로 세로 이동 때 액티비티가 재생성되지 않도록 하려면
아래 한 줄을 메니페스트에 삽입해주면 됩니다.
(물론 액티비티 속성으로요)

android:configChanges="orientation|keyboardHidden"