Lifecycle(생명 주기) 이란?
컴포넌트가 생성되고 사라지기 전까지 갖게되는 상태의 집합입니다. 컴포넌트는 사용자가 앱을 사용하면서 일어나는 상황에따라 다른 상태로 전환되고, 전환될때마다 안드로이드 시스템은 Lifecycle 콜백을 호출해서 컴포넌트에게 상태 전환을 알려줍니다.
안드로이드 컴포넌트
- 안드로이드 컴포넌트에는 Activity, Fragment, Service, App 자체, 기본 프로세스가 될 수 있습니다.
Android Activity Lifecycle
액티비티는 밑에 그림과 같은 생명주기(LifeCycle)를 가지고 있다. 이 생명주기에 따라 적절한 메소드가 호출되므로 이를 숙지해서 액티비티를 작성해야 한다.
액티비티 생명주기는 onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDestory()순으로 실행되며, 경우에 따라서 onRestart() 메소드가 호출되기도 한다.
1. onCreate()
- 액티비티가 생성될 때 호출되며 사용자 인터페이스 초기화에 사용됨.
2. onStart()
- 액티비티가 사용자에게 보여지기 바로 직전에 호출됨.
3. onResume()
- 액티비티가 사용자와 상호작용하기 바로 전에 호출됨.
4. onPause()
- 다른 액티비티가 보여질 때 호출됨. 데이터 저장, 스레드 중지 등의 처리를 하기에 적당한 메소드.
5. onStop()
- 액티비티가 더이상 사용자에게 보여지지 않을 때 호출됨. 메모리가 부족할 경우에는 onStop() 메소드가 호출되지 않을 수도 있음
6. onDestroy()
- 액티비티가 소멸될 때 호출됨. finish() 메소드가 호출되거나 시스템이 메모리 확보를 위해 액티비티를 제거할 때 호출됨
출처:https://kairo96.gitbooks.io/android/content/ch2.4.1.html
대표적인 4가지 ( onCreate, onResume, onPause ,onDestroy )
LOG 찍어본 결과 호출된 순서
'App' 카테고리의 다른 글
Hilt (1) | 2024.02.15 |
---|---|
클린 아키텍처 (0) | 2024.02.14 |
디자인 패턴 (1) | 2023.12.17 |
firebase(파이어베이스)란? (1) | 2023.12.17 |
Native Application과 Cross-Platform Application의 차이점 (0) | 2023.12.15 |