iOS 應用程式啟動時要做什麼

來源:互聯網
上載者:User

標籤:原因   運行   back   cep   enter   一個   tran   inactive   change   

當您的應用程式啟動(無論是在前台或後台),使用您的應用程式委託application:willFinishLaunchingWithOptions:application:didFinishLaunchingWithOptions:方法來執行以下操作:

  • 檢查啟動選項字典的內容,瞭解有關啟動應用程式的原因,並做出相應的響應。

  • 初始化您的應用程式的關鍵資料結構。

  • 準備您的應用程式的視窗和視圖以供顯示:

 

在啟動時,系統會自動載入您的應用程式的main Storyboard載入初始視圖控制器。

application:willFinishLaunchingWithOptions:application:didFinishLaunchingWithOptions:方法應該始終儘可能輕量級,以減少您的應用程式的啟動時間。應用程式預計將啟動,初始化UIWindow,並在不到5秒鐘內開始處理事件。如果應用程式沒有及時完成其啟動周期,則系統會將其殺死而無法響應。因此,任何可能會減慢啟動速度的任務(例如訪問網路)都應該安排在輔助線程上執行。

 

當您的應用程式啟動時,它將從未運行狀態轉移到活動狀態或後台狀態,並在非使用中中短暫轉換。作為啟動周期的一部分,系統為您的應用程式建立一個進程和主線程,並main在該主線程上調用您的應用程式的功能。mainXcode項目附帶的預設函數會立即將控制權移交給UIKit架構,UIKit架構完成初始化應用程式並準備啟動並執行大部分工

顯示了將應用程式啟動到前台時發生的事件序列,包括調用的應用程式委託方法。

當您的應用程式啟動到後台時(通常是為了處理某種類型的後台事件),啟動周期會稍微改變為所示的狀態。主要區別在於,您的應用不是處於活動狀態,而是進入後台狀態以處理該事件,並可能在此之後的某個時刻暫停。在啟動到後台時,系統仍會載入應用的使用者介面檔案,但不會顯示應用的視窗。

 

 

 

要確定您的應用程式是啟動到前台還是後台,請在您的或委託方法中檢查applicationState共用UIApplication對象的屬性。當應用程式啟動到前台時,此屬性包含該值。當應用程式啟動到後台時,該屬性將包含該值。您可以使用此差異來相應地調整委託方法的啟動時間行為。

application:willFinishLaunchingWithOptions:

application:didFinishLaunchingWithOptions:

UIApplicationStateInactive

UIApplicationStateBackground

 

應對臨時中斷

當發生基於警報的中斷(例如來電)時,應用程式暫時移至不活動狀態,以便系統可以提示使用者如何進行。該應用程式保持這種狀態,直到使用者解散警報。此時,應用程式將返回到活動狀態或移動到後台狀態。
顯示了發生基於警報的中斷時,通過您的應用程式發生的事件流。

 

 

 

 

當您的應用程式進入前台時該怎麼做

回到前台,您的應用程式有機會重新啟動它移到後台時停止的任務。移動到前台時出現的步驟4-4所示。該applicationWillEnterForeground:方法應該撤銷在您的applicationDidEnterBackground:方法中完成的任何操作,並且該applicationDidBecomeActive:方法應該繼續執行與啟動時相同的啟用任務。

 

 

 

 

以上查閱與蘋果官方文檔, 原文地址: 

https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StrategiesforHandlingAppStateTransitions/StrategiesforHandlingAppStateTransitions.html#//apple_ref/doc/uid/TP40007072-CH8-SW2

 

iOS 應用程式啟動時要做什麼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.