iOS 應用及視圖生命周期初探

應用及視圖的生命周期

應用生命周期

  • 從點擊iOS屏幕的應用圖標啟動應用開始,到應用完全退出內存為止,期間的所有應用程序行為

視圖生命周期

  • 從視圖開始從nib文件或storyboard文件中加載,到最后視圖從內存中卸載,期間的所有與視圖相關的行為

應用狀態

  • Not Running

    • 應用未被啟動或被系統或用戶終止
  • Inactive

    • 過渡狀態
    • 處于前臺運行,但不能接收事件
  • active

    • 正常狀態
    • 能夠接收事件
    • 沒有特別的約束
  • Background

    • 會執行代碼,但應用不可見
    • 處理如下載,定位,remote notification
  • Suspend

    • 應用在內存,但沒有執行代碼
    • 系統將沒有未完成任務的后臺程序置為suspend
    • 系統可能會在任意時刻將Suspend程序終止,以騰出空間給其他程序
  • 狀態遷移

    • State changes.png

隨狀態改變而調用的方法

  • 啟動時 Launch time
    • application:willFinishLaunchingWithOptions: 用戶點擊圖標時調用,第一次可以添加代碼的地方
    • application:didFinishLaunchingWithOptions: 上面調用完后調用
    • 應用生命周期內<em>只調用一次</em>
    • 放置一次性的數據加載,初始化等操作,提高效率
  • 轉向前臺 Transitioning to the foreground
    • applicationDidBecomeActive:
    • 可能會多次被調用
  • 用戶點擊Home
    • applicationWillResignActive: 離開前臺的時候就會調用
    • applicationDidEnterBackground: 進入后臺咯
  • 用戶再次點擊應用圖標
    • applicationWillEnterForeground: 從后臺調出的時候就會調用
    • applicationDidBecomeActive: 變為活躍狀態
  • 應用這次要被殺死累
    • applicationWillTerminate:
    • 只有在應用處于運行狀態才會執行此方法
    • 若程序處于Suspend狀態則不會調用
    • 文檔如是說
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容