App 생명주기
App의 실행/종료 및 App이 Foreground/Background 상태에 있을 때, 시스템이 발생시키는 event에 의해 App의 상태가 전환되는 일련의 과정
App 상태 5가지
1. Not Running : 앱이 실행되지 않았거나, 완전히 종료되어 동작하지 않는 상태
2. Inactive : 앱이 실행되면서 foreground에 진입하지만, 어떤한 이벤트도 받지 않는 상태 (앱의 상태 전환 과정에서 잠깐 머무는 단계, alert가 올라와서 앱이 이벤트를 받지 못하는 상황) ex) 전화가 왔을 때, 시스템 메시지가 떴을 때(배터리 부족)
3. Active : 앱이 실행 중이며, foreground에 있고, 이벤트를 받고 있는 상태
4. Background : 앱이 백그라운드에 있으며, 다른 앱으로 전환되었거나 홈으로 나갔을 때의 상태, suspended 상태가 되기 전 잠깐 머무는 상태, 코드가 실행중이지만 사용자의 이벤트를 받을 수 없다. 앱을 다시 열었을 때, 처음부터 재실행 되지 않는다면 background상태에 있다가 올라온 것 ex) background에서 음악을 재생하거나, 거리를 추적하고 있는 상황
5. Suspended : 앱이 백그라운드에 있지만, 아무 코드도 실행하지 않는 상태. background에서 특별한 작업이 없을 경우 Suspended 상태가 된다. OS에 의해 메모리 부족 현상이 발생하면 이 상태의 앱은 메모리에서 해제될 수 있다. 따라서 앱을 종료시킨 적이 없더라도 앱을 다시 실행하려고 하면 처음부터 다시 실행된다.
'Language > Swift' 카테고리의 다른 글
iOS - MVC 패턴 (0) | 2022.11.05 |
---|---|
iOS - View Controller 생명주기 (0) | 2022.11.05 |
iOS - AppDelegate, SceneDelegate (0) | 2022.11.05 |
iOS - Delegate 패턴 (0) | 2022.11.05 |
iOS - Singleton Pattern (0) | 2022.11.01 |
Comment