onSaveInstanceState()
- onSaveInstanceState()를 이용하면 Activity가 종료될때 데이터를 저장 할 수 있음
- onDestory 이전에 호출됨
Activity가 종료되는 경우
- back 버튼 눌렀을때
- Activity가 백그라운드에 있을 떄 시스템 메모리가 부족해진 경우
- 언어 설정을 변경할 때
- 화면을 회전 할 때
- 폰트 크기나 폰트를 변경했을 때
화면 회전시 LifeCylcle
- 화면을 회전할 때 발생하는 이벤트들은 다음과 같습니다. 화면을 회전할 때마다 Activity가 종료되고 새로 만들어지기 때문에 라이프 사이클을 잘 이해하고 대처하는 것이 좋을 것 같습니다.
onPause() → onSaveInstanceState() → onStop() → onDestory() → onCreate() → onStart() → onResume()
Fragment에서의 onSaveInstanceState
- Fragment 시작시 라이프 사이클
onAttach() → onCreate() → onCreateView() → onActivityCreated() → onStart() → onResume()
- Fragment 전환시 라이프 사이클
onPause() → onSaveInstanceState() → onStop() → onDestoryView() → onDestory() → onDetach() → onAttach() → onCreate() → onCreateView() → onActivityCreated() → onStart() → onResume()
onRestoreInstanceState()
- onCreate 이후에 호출됨
- onSaveInstanceState에서 저장한 정보는 onCreate에서 bundle로 가져올 수 도 있지만, onRestoreInstanceState는 강제 종료 시에만 호출한다
유익한 글이었습니다.