Application 생명 주기

최대 1 분 소요

App 생명주기란

앱의 실행부터 종료까지의 주기를 말하며, 앱이 foreground나 background에 있을 때 시스템 알림에 응답하고 기타 중요한 시스템 관련 이벤트를 처리하는 단계들을 말한다.

앱 실행시
UIAppliation 객체를 생성한다.
이후 UIApplication 어노테이션이 있는 객체를 찾아 AppDelegate를 생성한다.
Main Run Loop ( Main Event Loop)를 실행하고
Main Run Loop는 발생한 이벤트를 큐에 담아놓고
담겨 있는 이벤트를 꺼내 하나하나 실행하여 처리한다
AppDelegate 객체는 Life Cycle을 전달 받기 때문에 이를 통하여 현재 상태를 알 수 있다

Life Cycle

Not Running

  • 아무 것도 하지 않는 상태 혹은, 실행 중이나 시스템에 의해 종료된 상태

In-Active

  • 상태 전환 과정에서 잠시 머무르는 상태

Active

  • 실제 앱이 실행 되는 상태( 이벤트를 받는 단계 )

BackGround

  • Suspend 진입 전에 거치는 단계
  • 데이터의 저장등의 작업을 처리한다
  • 일반적인 앱은 잠시 머물고 바로 Suspend상태로 진입하지만
  • 음악, 통화, 녹음등의 앱은 이 상태에서도 동작한다

Suspend

  • BackGround 상태지만 아무 실행도 하지 않는 상태, Not Running 상태와 같다
  • 시스템이 임의로 BackGround상태를 Suspend로 만든다 ( 리소스 해제 )

태그:

카테고리:

업데이트:

댓글남기기