Search
Duplicate

앱의 생명주기

생성일
2023/07/02 05:53
태그
LifeCycle

앱의 생명주기 (App LifeCycle)

Q) Foreground와 Background의 공통점?
앱이 메모리에 올라가 있다.
Q) Foreground와 Background의 차이점?
Foreground일 때는 앱이 화면을 점유하고 있고,
Background일 떄는 앱이 화면을 점유하고 있지 않다 (화면에서는 내려갔지만, 메모리에는 올라가 있다)

Not Running

앱의 실행 전

Foreground

화면을 점유

Inactive

iOS가 관리 - 외부적인 요인에 의해 잠시 거쳐가는 영역
ex) 문자 메시지로 인해 잠시 앱 컨트롤 불가

Active

앱이 실행 중

Background

화면을 점유하고 있지 않음

Background Running

제한적인 실행만 가능하도록 OS에서 통제
ex) 멜론 백그라운드 플레이

Suspended

다음 실행을 기다림 / 대기 상태
→ Not Running을 제외하고 아직 메모리에 올라가 있는 상태

Scene 도입 전

Scene 도입 후

SceneDelegate

UIWindowSceneDelegate

AppDelegate

UIApplicationDelegate
SceneDelegate
다른 Scene으로 넘어가거나, 그런 시점들을 파악하기 위한 대리자 (Foreground / Background)
Scene(멀리태스킹의 창)의 개념이 도입되면서, AppDelegate의 역할에서 몇 가지 개념을 SceneDelegate로 넘겼다.
여러 개의 Scene이 열려있어도, 결국 유저가 실제로 동작시키는 것은 하나의 Scene
SceneDelegate를 이용한 iOS 13 이후의 앱 생명주기 흐름도