iOS 앱의 생명 주기
앱이 시작되고 종료되는 과정에서의 여러 상태 전환을 말한다. 앱은 실행 중 다양한 상태를 거치며, 각 상태에서는 특정 작업을 수행해야 한다. 이 과정은 사용자의 경험을 향상시키고, 앱의 안정성을 유지하는 데 중요한 역할을 한다.
앱의 주요 상태
- Not Running: 앱이 실행되지 않은 상태다.
- Inactive: 앱이 실행 중이지만, 이벤트를 처리하지 않는 상태다.
- Active: 앱이 실행 중이며, 이벤트를 처리하고 있는 상태다.
- Background: 앱이 백그라운드에서 실행 중인 상태로, 제한된 작업만 가능하다.
- Suspended: 앱이 메모리에 있지만 실행되지 않는 상태다.
앱 생명 주기 관리 메서드
앱의 생명 주기를 관리하기 위해 다음과 같은 메서드를 사용한다.
- application(_:didFinishLaunchingWithOptions:): 앱이 시작될 때 호출되며, 초기 설정을 처리한다.
- applicationDidBecomeActive(_:): 앱이 활성화될 때 호출되며, 사용자와의 상호작용을 시작한다.
- applicationWillResignActive(_:): 앱이 비활성화되기 직전에 호출되어 일시 중단 작업을 수행한다.
- applicationDidEnterBackground(_:): 앱이 백그라운드로 전환될 때 호출되어 데이터 저장 등의 백그라운드 작업을 수행한다.
- applicationWillEnterForeground(_:): 앱이 포그라운드로 전환되기 직전에 호출되어 준비 작업을 수행한다.
- applicationWillTerminate(_:): 앱이 종료될 때 호출되어 정리 작업을 수행한다.