[필수 메소드]
onCreate()
Activity의 전체 Life Cycle동안 한 번만 발생해야 하는 기본 Application Logic 수행.
ex. Daatabase List에 Binding. savedInstanceState 매개변수를 수신함, 이는 이전 저장 상태가 포함된 Bundle 객체.
이번에 처음 생성된 Activity의 경우 Bundle 객체 값은 null.
onStrat()
정의한 Layout.xml - Activity.kt 연결
Activity 객체를 생성하고 Menu, Layout, Image Resource 를 로딩.
onResume()
Activity 사용자에게 표시되기 직전에 호출됨.
onPause()
다른 Activity 표시 직전에 호출됨.
Activity가 여전히 부분적으로 보여질 때
임시적으로 중지, 중지하는 중을 나타냄
(ex)
- CPU사용하는 Animation, Action
- 저장되지 않는 변화를 완료
- 배터리를 소비하는 시스템 리소스 해제
onStop()
Activity 화면이 더 이상 보여지지 않게할 때
- 사용자가 다른 Activity를 시작할 때
- 사용자가 앱에서 전화를 받는 경우.
앱은 여전히 실행되고 있지만, Activity 는 아닐 경우.
- onStop 전에는 항상 onPause가 호출 됨.
- onStop은 데이터베이스에 커밋(Commit)하는 것과 같은 강력한 종료 작업 수행.]
onRestart()
Activity stop 되었다가 재시작시 호출 (첫 번째 시작만 제외하고 모두)
onDestroy()
앱 전체가 종료되고 메모리에서 unload될 때 호출됨.
-> 자주 사용하지 않음. (∵언제 메모리에서 해제될지 알 수 없기 때문에)
-> onStop, onPuase를 자주 사용
<Activity State 저장 및 복원>
onSaveInstanceState() : 저장
onRestoreInstanceState() : 복원
이 때 Bundle을 활용한다.
Bundle은 Map형태 (key-Value) Data를 묶어 저장하는 자료구조이다.
Finish() 메소드 사용시 저장과 복구를 위한 콜백 메소드가 호출되지 않음.
[Reference]
https://developer.android.com/guide/components/activities/activity-lifecycle
'Android > OS' 카테고리의 다른 글
[Android] Anonymous Function + Lambda (feat. Click Listenenr) (0) | 2020.05.04 |
---|---|
[Android] Constraint Layout (0) | 2020.04.14 |
[Android] Tab - Layout (0) | 2020.04.13 |