藍鷗iOS培訓講師推薦:學習iOS,必然要學應用生命週期,與iOS應用的不同狀和它們之間存在的關係。
首先要了解,作爲應用程序的委託對象,AppDelegate類在應用生命週期的不同階段會回調不同的方法。
iOS應用狀態圖
下面要介紹的就是iOS應用的5種狀態,具體來了解一下吧!
1、NotRunning(非運行狀態)。應用沒有運行或被系統終止。
2、Inactive(前臺非活動狀態)。應用正在進入前臺狀態,但是還不能接受事件處理。
3、Active(前臺活動狀態)。應用進入前臺狀態,能接受事件處理。
4、Background(後臺狀態)。應用進入後臺後,依然能夠執行代碼。如果有可執行的代碼,就會執行代碼,如果沒有可執行的代碼或者將可執行的代碼執行完畢,應用會馬上進入掛起狀態。
5、Suspended(掛起狀態)。處於掛起的應用進入一種“冷凍”狀態,不能執行代碼。如果系統內存不夠,應用會被終止。
那麼在應用狀態躍遷的過程中,iOS系統會回調AppDelegate中的一些方法,而且發送出一些通知。其實,有很多種得到生命週期的方法,那麼簡單的介紹幾種常見的。
爲了便於觀察應用程序的運行狀態,我們爲AppDelegate.m中的方法添加一些日誌輸出,具體代碼如下:
內容有點複雜,不過看過之後應該很容易理解了吧!希望能夠對你有所幫助。