在上圖,說明了 iOS 應用程式在執行上各種狀態之間的變遷關係,與這些狀態在改變時所觸發的函式,這些函式在建立專案時都也會自動建立在 AppDelegate.m 中。(如果是使用 Xcode 4.0 以前的版本部分函式可能需要自行手動撰寫)
值得注意的是,當應用程式退至背景執行時仍然會佔用記憶體因為記憶體不足之類的錯誤導致程式意外停止時,最後接觸到的 Call Back 方法函式既是 applicationDidEnterBackground: 方法函式,因此在此函式中除了執行背景處理的作業之外,也必須考慮到上述的情況,將應用程式中的使用者資料做儲存,確保資料的完整性。
ps:如果在有支援背景執行的裝置上,執行部支援背景執行的應用程式時,同樣會先觸發 applicationDidEnterBackground: 函式之後才是 applicationWillTerminate: 函式。
在應用程式一開始執行時,除了會觸發 application:didFinishLaunchingWithOptions: 函式之外,也同樣會觸發 applicationDidBecomeActive: 函式。
沒有留言:
張貼留言