앱의 생명주기 개념 정리

 

앱의 생명주기

앱의 생명주기는 앱이 시작되고 종료될 때까지의 주요 이벤트 및 상태를 설명하는 개념이다.

  • Not Running : 앱이 실행되지 않은 상태이며, 시스템이 앱을 아직 시작하지 않았거나 앱이 종료되었을때의 상태
  • Inactive : 앱이 실행 중이지만 이벤트를 받지 않는 상태이다. 앱이 백그라운드에 있거나 다른 앱이 화면을 가리고 있을때의 상태
  • 아래에서 위로 스와이프 하는 순간 InActive 상태가 된다.
  • Active : 앱이 화면에 표시되고 사용자 이벤트를 처리하는 상태이다. 앱이 직접 상호작용하고 화면에 표시될 때 이 상태가 된다.
  • Background : 앱이 백그라운드에서 실행 중이고 코드를 실행하거나 업데이트 할 수 있는 상태이다. 예를 들어 위치 업데이트 및 네트워크 작업 수행과 같다. ( 음악 , 통화 등)
  • Suspended : 앱이 백그라운드에서 실행 중이지만 코드를 실행하지 않고 메모리에 유지되어 있는 상태이다. 앱이 백그라운드로 이동할 때 일부 상태를 저장하고 다시 활성화될 때까지 대기

위와 같은 상태 전환은 다양한 이벤트에 따라 발생한다. 예를 들어 앱이 처음 시작될 때 홈 버튼을 눌러 백그라운드로 이동할 때, 다른 앱이 포그라운드로 전환될 때 등이 해당 된다.

iOS 에서는 앱의 생명주기를 관리하기 위해 앱 델리게이트 객체를 사용한다.

앱 델리게이트는 앱의 상태 변화에 따라 호출되는 메서드를 구현하여 이러한 변화를 처리한다.