반응형
상황에 따른 생명주기 동작순서 정리
1. 기본적인 앱 실행 후 종료시
- 앱 실행 : onCreate() -> onStart() -> onResume()
- 앱 종료 : onPause() -> onStop() -> onDestroy()
2. 앱 실행 -> A액티비티 -> B액티비티로 이동 후 돌아오는 경우 (A액티비티의 상태변화)
- 앱 실행 : onCreate() -> onStart() -> onResume()
- B액티비티로 이동 : onPause() -> onStop()
- B -> A액티비티로 돌아옴 : onRestart() -> onStart() -> onResume()
3. 앱 실행 -> A액티비티 -> 홈버튼 클릭 바탕화면 이동 후 돌아오는 경우(A액티비티의 상태변화)
- 앱 실행 : onCreate() -> onStart() -> onResume()
- 홈버튼 클릭 바탕화면 이동 : onPause() -> onStop()
- 바탕화면 -> A액티비티로 돌아옴 : onRestart() -> onStart() -> onResume()
3. 앱 실행 -> A액티비티 -> 앱실행 목록 클릭 다른 앱 이동 후 돌아오는 경우(A액티비티의 상태변화)
- 앱 실행 : onCreate() -> onStart() -> onResume()
- 앱실행 목록 클릭 : onPause() -> onStop()
- 다른앱 -> A액티비티로 돌아옴 : onRestart() -> onStart() -> onResume()
4. 앱 실행 > A액티비티 -> 앱실행 목록에서 모두닫기(강제종료), 설정에서 배터리 최적화로 종료 등(강제종료)
- 앱 실행 : onCreate() -> onStart() -> onResume()
- 앱실행 목록 클릭 : onPause() -> onStop()
- 강제종료시 : 호출없이 바로종료!!
앱 강제종료시 onDestroy() 호출없이 바로 종료되는 것을 알 수 있음
최신데이터 유지 및 갱신은 onResume() , 앱 종료시 처리해야하는 작업은 onStop() 에서 하는게 좋을 것 같음
반응형