본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] 다른 Activity 를 startActivity 로 실행시킬 때, 기존 Activity의 onDestory가 불리는 현상.

by 돼지왕 왕돼지 2012. 4. 10.
반응형


안녕하세요 돼지왕 왕돼지입니다.

오늘은 ICS 단말로 이것저것 실험하다가 또 새로운 사실을 발견해냈습니다.
 
A Activity 에서 startActivity 를 통해 B Activity 를 호출했을 때, A Activity 의 onDestroy() 가 호출되는 것입니다.! 게다가 (당연하지만) B Activity 에서 Back key 로 A Activity 로 돌아올 떄 A Activity 의 onCreate() 가 불리는 것입니다.

이런 이런 깜놀한 상황이..
이것을 막는 방법은 다음과 같습니다. 

[Setting] - [{} Developer options] - [Don't keep activities] 체크 해제  


요렇게 하면, ICS 에서의 요상한 동작을 막을 수 잇습니다.

사실, user 에 어떤 모드로 사용하고 있을지 정확히 모르기 때문에, 사실은 onStop 이나 onDestroy 에서 상태를 보존하고, 다시 create 될 때 상태를 복구시키는 것이 더 확실한 구현이라 볼 수 있겠습니다.



반응형

댓글