Activity Life Cycle
고려해야하는 이유
- 사용자가 앱을 사용하는 도중에 전화가 걸렸거나 다른앱으로 전환 시 비정상적으로 종료되는 문제 예방
- 사용자가 앱을 활발히 사용하지 않는 경우 시스템 리소스가 소비는 되는 문제 예방
- 사용자가 앱에서 나갔다가 나중에 돌아왔을 때 사용자의 진행 싱태가 저장 되지 않는 문제 예방
Life Cycle 종류
1. OnCreate()
- 활동의 전체 생명 주기 동안 한번만 발생해야 하는 어플리케이션의 시작 조직 실행
ex) viewModel 연결, 바인딩, 클래스 변수 인스턴스화
2. onStart()
- 액티비티가 사용자에게 표시됨
- 매우 빠르게 완료됨
- 화면에 진입할때 마다 실행햐야 할 코드 작성
3. onResume()
- 어떤 이벤트가 발생하여 앱에서 포커스가 날때까지 앱이 이 상태에서 머무름
ex) 전화가 옴, 사용자가 다른 액티비티로 이동, 기기 화면 꺼짐
- 방해가 되는 이벤트가 발생하면 액티비티는 일시 정지 상태, 시스템이 onPause() 콜백 호출
- onResume()은 onPause()중에 해재하는 구성요소를 초기화, 액티비티가 재개될 때 마다 필요한 다른 초기화 작업 수행
4. onPause()
- 구성 요소가 foreground에 있지 않을 때, 실행할 필요가 없는 기능 정지
- 짧기 때문에 데이터 저장X, DB 작업X
5. onStop()
- 구성 요소가 화면에 보이지 않을 떄 실행할 필요가 없는 기능 정지
- 데이터를 저장하는 작업 구현
6. onDestroy()
Activity Life Cycle 순서

좋은 정보 감사합니다