onSaveInstanceState() 와 onRestoreInstanceState()를 알아보자

대우김·2023년 7월 25일

Android 짤막 팁

목록 보기
3/3

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는 강제 종료 시에만 호출한다
profile
큰큰

1개의 댓글

comment-user-thumbnail
2023년 7월 25일

유익한 글이었습니다.

답글 달기