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