[iOS] App Life Cycle / 앱의 생명 주기

2022. 11. 9. 11:02🍏/OS

앱 생명 주기

- Not Running 앱이 시작되지 않았거나 실행되었지만 시스템에 의해 종료된 상태.

- Inactive 앱이 전면에서 실행 중이지만, 아무런 이벤트를 받지 않고 있는 상태.

- Active 앱이 전면에서 실행 중이며, 이벤트를 받고 있는 상태.

- Background 앱이 백그라운드에 있지만 여전히 코드가 실행되고 있는 상태. 대부분 앱은 Suspended 상태로 이행하는 도중에 일시적으로 이 상태에 진입하지만, 파일 다운로드나 업로드, 연산 처리 등 여분의 실행 시간이 필요한 앱일 경우 특정 시간 동안 이 상태로 남아 있게 되는 경우도 존재.

- Suspended 앱이 메모리에 유지되지만 실행되는 코드가 없는 상태. 메모리가 부족한 상황이 오면 iOS 시스템은 Foreground에 있는 앱의 여유 메모리 공간을 확보하기 위해 Suspended 상태에 있는 앱들을 특별한 알림 없이 정리.