본문 바로가기
App

Life Cycle(Android Activity Lifecycle)

by 남행비 2023. 12. 15.

 

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