Android

Android Studio - LifeCycle 라이프사이클

Cong_S 2022. 7. 11. 15:21

LifeCycle 라이프사이클이란?

사용자가 앱을 탐색하고, 앱에서 나가고, 앱으로 다시 돌아가면, 앱의 Activity 인스턴스는 수명 주기 안에서 서로 다른 상태를 통해 전환된다.

 

예를 들어, 카카오톡을 켜는 순간부터 카카오톡 잠깐 나갔다가 들어오고 백버튼으로 나와 종료하는 것까지 6가지 콜백을 통해 이루어진다.

 

활동 수명 주기 단계 간에 전환하기 위해 활동 클래스는

6가지 콜백 onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy() 으로 이루어져있다.

 

출처 : 안드로이드 개발자 도움말 페이지

 

onCreate() : 이 콜백은 시스템이 먼저 활동을 생성할 때 실행되는 것으로, 필수적으로 구현해야 한다.

활동이 생성되면 생성됨 상태가 된다.

 

onStart() : 활동이 시작됨 상태에 들어가면 시스템은 이 콜백을 호출함. 

onStart()가 호출되면 활동이 사용자에게 표시된다.

 

onResume() : 활동이 재개됨 상태에 들어가면 포그라운드에 표시되고 onResume() 시스템이 콜백을 호출합니다.

이 상태에 들어갔을 때 앱이 사용자와 상호작용합니다. 다시 말하면 앱을 사용하기 위해서는 무조건 거쳐가야 하는 콜백이다.

 

onPause() : 시스템은 사용자가 활동을 떠나는 것을 나타내는 첫 번째 신호로 이 메서드를 호출합니다(하지만 해당 활동이 항상 소멸되는 것은 아님). 활동이 포그라운드에 있지 않게 되었다는 것을 나타냅니다

 

onStop() : 활동이 사용자에게 더 이상 표시되지 않으면 중단됨 상태에 들어가고, 시스템은 onStop() 콜백을 호출합니다. 이는 예를 들어 새로 시작된 활동이 화면 전체를 차지할 경우에 적용됩니다. 시스템은 활동의 실행이 완료되어 종료될 시점에 onStop()을 호출할 수도 있습니다.

 

onDestroy() : 활동이 소멸되기 전에 호출됩니다. 시스템은 다음 중 하나에 해당할 때 이 콜백을 호출합니다.

  1. (사용자가 활동을 완전히 닫거나 활동에서 finish()가 호출되어) 활동이 종료되는 경우
  2. 구성 변경(예: 기기 회전 또는 멀티 윈도우 모드)으로 인해 시스템이 일시적으로 활동을 소멸시키는 경우

메소드 오버라이딩으로 함수를 불러와 로그를 남기도록 한 코드와 아래는 로그

 

안드로이드 라이프사이클 페이지 바로가기 : 

https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ko#java 

 

활동 수명 주기에 관한 이해  |  Android 개발자  |  Android Developers

활동은 사용자가 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기와 같은 작업을 하기 위해 상호작용할 수 있는 화면을 제공하는 애플리케이션 구성요소입니다. 각 활동에는 사용자 인터페

developer.android.com