728x90
액티비티 수명
- 안드로이드는 액티비티가 상태 변화에 반응할 수 있도록 일련의 이벤트 핸들러를 제공
- 이벤트 핸들러는 액티비티가 전체 수명(full lifetime), 가시 수명(visible lifetime), 활성 수명(active lifetime)으로 전환될 때 자동 호출되어 실행
전체 수명 (full lifetime)
- onCreate가 처음 호출될 때부터 소멸할 때까지
- onDestory 핸들러 호출 없이 중단되는 경우도 있음
1. onCreate
- 액티비티 초기화
- 구체적으로 UI 전개, 프래그먼트 참조 가져옴, 참조를 클래스 변수에 저장, 데이터를 컨트롤에 바인딩, 서비스 시작
- 액티비티가 예기치 못하게 종료 시 onSaveInstanceState의 마지막 호출 때 저장된 상태 데이터가 담긴 Bundle 객체가 onCreate 메서드에 전달됨
※ 효율적인 코드 작성을 위해 잠시 사용할 객체를 반복 생성 x
-> 정해진 객체들 생성은 onCreate에서
-> 액티비티의 수명에서 딱 한 번만 호출되기 때문
2. onDestroy
- 네트워크 또는 데이터베이스 링크와 같은 외부 연결 닫혔는지 확인
가시 수명 (Visible lifetime)
- onStart에서 onStop 호출까지
- 액티비티가 사용자에게 보여짐 but 포커스의 유무와 무관
- 액티비티가 부분적으로 가려질 수 있음
1. onStart
- 정지된 프로세스 재시작
2. onStop
- UI 업데이트할 때 사용되는 프로세스들 일시 정지 또는 정지
3. onRestart
- onStart 최초 호출 때를 제외하고 모든 경우에 앞서 호출
- 액티비티가 전체 수명 안에서 재시작될 때만 수행되는 특별한 처리 구현시 사용
활성 수명
- onResume 에서 onPause 호출 때 까지
- 포어그라운드
- 사용자 입력 이벤트 받음
728x90
'Android' 카테고리의 다른 글
[안드로이드] merge, include (0) | 2020.09.08 |
---|---|
[안드로이드] MVC, MVP, MVVM에 관하여 잘 정리된 글 (0) | 2020.09.08 |
[안드로이드] 액티비티 상태 (0) | 2020.09.08 |
[안드로이드] 애플리케이션 우선순위 (0) | 2020.09.08 |
[안드로이드] Fragment (0) | 2020.09.08 |
댓글