Be Developer

[Android] 액티비티 상태 저장 본문

Android

[Android] 액티비티 상태 저장

yujin_dev 2019. 4. 29. 11:32
반응형

onSaveInstanceState()

  1. 액티비티 상태에 관한 중요한 정보 보존

  2. 액티비티에 관한 정보를 key-value로 저장할 수 있는 Bundle을 메서드에 전달

- 시스템이 애플리케이션 프로세스를 종료하고 사용자가 액티비티로 다시 돌아오면, 시스템이 액티비티를 다시 생성하고 Bundle을 onCreate()와 onRestoreInstanceState()에게 전달

- 상태를 저장할 필요가 없는 경우도 있으므로 액티비티가 소멸되기 전에 onSaveInstanceState()가 호출된다는 보장은 없음 (ex. 사용자가 명시적으로 액티비티를 닫기 위해 Back 버튼을 눌러 액티비티를 떠나는 경우)

- 시스템이 onSaveInstanceState()를 호출하는 경우, onStop() 전에 호출하는 것이 일반적이며 onPause() 전에 호출할 가능성도 높음

- onSaveInstanceState()의 기본 구현이 UI 상태를 저장, 추가 상태 정보를 저장하기 위해 이 메서드를 재정의하려면 작업을 하기 전 항상 onSaveInstanceState()의 슈퍼클래스 구현을 호출 (=onRestoreInstanceState()도 동일)

- onSaveInstanceState()의 호출 보장되지 않음. 영구적인 데이터를 저장하려면 onPause() 사용

반응형
Comments