-
Activity lifecycleAndroid 2020. 9. 2. 18:40반응형
생명 주기 종류
- onCreate()
- Activity를 생성할때 가장 먼저 실행되는 것 이다.
- 전체 생명 주기 동안 한 번만 발생 해야 하는 로직 들을 수행한다. ex) 초기화 처리, 뷰생성
- 완료되면 onStart()을 호출한다.
- onStart()
- Activity가 사용자에게 보여진다.
- Activity를 foreground에 보내 상호작용을 준비하는 단계 이므로 사용자와 상호작용은 불가능 하다.
- 완료되면 onResume()을 호출한다.
- onResume()
- 사용자와 상호작용을 시작합니다.
- App에서 focus가 떠날 때까지 머무릅니다. ex) 다른 Activity로 이동, 화면 꺼짐 등
- 실행해야 하는 모든 기능을 활성화 할 수 있다.
- 방해되는 이벤트 발생 시 일시 정지 상태에 들어가고 onPause()을 호출합니다.
- onPause()
- 사용자가 Activity를 떠난다는 첫번째 신호입니다.( Activity가 항상 소멸된다는 것을 뜻하진 않습니다.)
- 일부 이벤트가 방해하거나 멀티 윈도우 모드, 새로운 반투명 Activity가 열릴 때 호출 됩니다.
- foreground에 있지 않을 때 실행할 필요 없는 기능 들을 정지 시킬 수 있습니다.
- Activity가 완전히 보이지 않게 되면 onStop() 호출, 다시 시작되면 onResume()을 호출 합니다.
- onStop()
- Activity가 더이상 표시되지 않으면 호출됩니다.
- 필요하지 않은 리소스를 해제하거나 조정합니다.
- Activity가 다시 시작되면 onRestart()를 호출, 실행을 종료하면 onDestroy()를 호출합니다.
- onDestroy()
- Activity가 소멸되기 전에 호출됩니다.
- (Activity를 완전히 닫거나 Activity에서 **finish()**가 호출되어) Activity가 종료되는 경우
- 기기 회전 또는 멀티 윈도우 모드 으로 인해 시스템이 일시적으로 Activity를 소멸시키는 경우
- ViewModel을 사용 하는 경우 **onCleared()**를 호출하여 모든 데이터를 정리 해야 합니다.
- Activity가 소멸되기 전에 호출됩니다.
메서드 호출 순서
- 시작시 : onCreate -> onStart -> onResume
- 화면 회전시 : onPause -> onStop -> onDestroy -> onCreate -> onStart -> onResume
- 다른 Activity 실행 시 / 화면 OFF시 /홈 키 : onPause -> onStop
- Back 키로 Activity 종료 : onPause -> onStop -> onDestory
- Back 키로 기존 Activity에 돌아올 때/홈 키로 나갔다가 돌아올 때 : onRestart -> onStart -> onResume
- 다이얼로그 Activity나 투명 Activity가 위에 뜰 때 : onPause
https://developer.android.com/guide/components/activities/activity-lifecycle?hl=eng
반응형'Android' 카테고리의 다른 글
View Lifecycle (0) 2020.09.02 Fragment lifecycle (0) 2020.09.02 Architecture Pattern-MVVM (0) 2020.09.02 Architecture Pattern-MVP (0) 2020.09.02 Architecture Pattern-MVC (0) 2020.09.02 - onCreate()