반응형

구글에서 제공하는 생명주기 표현그림

상황에 따른 생명주기 동작순서 정리

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() 에서 하는게 좋을 것 같음

반응형

+ Recent posts