說在前面:
5個狀態(tài):not runing 非運行;inactive :前臺非活動;active:前臺活動;background:后臺狀態(tài);suspended:掛起狀態(tài)
在狀態(tài)變化種,APP會回調(diào)AppDelegate中的相關方法,并發(fā)出對應通知。
場景1:應用啟動:
狀態(tài)變化:not runing ->inactive->active,在not runing->inactive過程中,調(diào)用didFinishLaunchingWithOptions,發(fā)出UIApplicationDidFinishLaunchingNotification通知
inactve->active:調(diào)用didBecomeActive,發(fā)出UIApplicationDidBecomeActiveNotification通知
場景2:應用退出(點擊HOME鍵)
狀態(tài)變化1:可在后臺運行并掛起:active->inactive->background->suspended
active->inactive:回調(diào)WillResignActive并發(fā)出相應通知
inactive->background:willEnterBackground
background->suspended:didEnterBackground 并發(fā)出相應通知
狀態(tài)變化1:不可在后臺運行并掛起:active->inactive->background->suspended->not runing
active->inactive:回調(diào)WillResignActive并發(fā)出相應通知
inactive->background:willEnterBackground
background->suspended:didEnterBackground 并發(fā)出相應通知
suspended->not runing:willTerminate,并發(fā)出響應通知
場景3:掛起被用戶喚醒
狀態(tài)變化:suspended->background->inactive->active
場景4:應用終止
backbround->suspended->not runing