Application 생명 주기
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로 만든다 ( 리소스 해제 )
댓글남기기