Glsme / iOS_Interview_Question_Answer

🧙 재르시 면접질문에 대한 답변 정리 Repository입니다.
3 stars 0 forks source link

App의 Not running, Inactive, Active, Background, Suspended에 대해 설명하시오. #25

Open Glsme opened 1 year ago

Glsme commented 1 year ago

Not Running

앱이 아직 실행되지 않았거나 시스템에 의해 중단된 상태

Inactive

앱이 Foreground에서 실행되고 있는 상태지만 어떤 이벤트를 받고 있지 않는 상태. 전화나 문자가 올 때 이 상태가 된다.

Active

앱이 Foreground에서 동작되고 이벤트를 받고 있는 상태.

Background

홈화면으로 나가거나 다른 앱으로 전환되어 현재 앱이 실질적인 동작을 하지 않는 상태.

Suspended

앱이 백그라운드에 있지만 코드를 실행하지는 않는 상태. 메모리가 적을 경우, 현재 실행되고 있는 앱이 필요한 공간을 만들기 위해서 iOS는 Suspended 된 앱들을 언급 없이 purge시킨다.

Glsme commented 1 year ago

iOS 12 이하는 AppDegate에서 Life Cycle을 관리했다.

하지만 iOS 13부터 Scene 개념이 나오면서 Life CycleSceneDelegate에서 관리하게 되었다.

따라서 AppDegate에서는 Process Life Cycle을,

SceneDelegate에선 UI Life Cycle을 관리한다.