[iOS] Application State

Application이 실행될 때 일반적으로 다음과 같은 과정을 가짐

  1. App wake up
  2. 일부 초기화
  3. UI, Screen 생성
  4. 일부 API 호출

이러한 과정에서 Application의 상태 즉, state가 변경됨

State

appstate

Not running

Application이 종료된 상태 이거나, 아직 실행되지 않은 state

Inactive

Foreground에 있지만 아직 이벤트 수신을 받지 못하는 상태

activebackground로 가거나 backgroundactive 로 변경될 때 잠시 거치는 단계

Active

inactive와 마찬가지로 Foreground에 있지만 inactive와는 다르게 screen에 표시되고

사용자와 상호작용을 통해 이벤트 수신도 할 수 있는 상태

Background

Application이 보이지는 않지만 Background에서 앱의 코드가 실행중인 상태(eg : 음악)

Push / Local Notification 같은 일부 로직을 실행할 수 있음

아마 카카오톡같은 경우 화면이 내려가있어도 알람이 오는 것이 이 상태에서 notification을 대기하는 코드가 실행중인 것 같다?

Suspended

Application이 메모리에는 존재하지만 코드를 실행하지는 않는다.

OS에서 메모리가 부족하다고 판단할 경우 Suspended 상태인 Application을 종료시켜

메모리를 확보함

참고

Application States in iOS

iOS - App States(앱의 상태)란

댓글남기기