iOS應用程式的常見執行生命週期是什麼?
在本文中,您將瞭解iOS應用程式的不同執行狀態。根據當前狀態,您可以決定要執行的任務。應用程式可能有多種狀態。
iPhone作業系統(iOS)為我們提供了應用程式的五種不同狀態,如下所示:
未執行
非活動狀態
活動狀態
後臺
掛起
iOS應用程式執行在多個狀態下,稱為應用程式生命週期的狀態。應用程式生命週期對於iOS開發者至關重要,因為它有助於他們瞭解其應用程式的行為。每個iOS應用程式都會經歷以下狀態。
未執行 - 顧名思義,應用程式當前未執行。這意味著應用程式中沒有正在執行的程序。如果應用程式被作業系統終止,它將切換到未執行狀態。
非活動狀態 - 當應用程式處於前臺模式但未接收任何事件時。這意味著應用程式已開啟,但未接收任何輸入。這可能由於某些原因發生,例如您正在通話或收到訊息。在此狀態下,作業系統不允許我們與應用程式互動。
活動狀態 - 這是應用程式處於前臺模式的最常見狀態。在此狀態下,應用程式響應所有事件。
後臺 - 顧名思義,應用程式無法互動。當您從一個應用程式切換到另一個應用程式時,第一個應用程式將轉換到後臺模式。當應用程式處於後臺時,它可能會被作業系統本身掛起。您可以執行後臺模式下的程式碼,但時間有限。
掛起 - 如果應用程式在後臺執行但未執行任何任務,則可以將其掛起。在這種情況下,作業系統將分析應用程式的使用情況,並在需要時終止它。

對於iOS應用程式,UIApplicationDelegate是主要的入口點,在您構建並執行應用程式時執行。此協議提供了一組與其關聯的預設方法。這些方法幫助我們識別應用程式的當前狀態。
對於iOS開發者來說,瞭解這些方法的使用非常重要。
當應用程式開始執行時,UIApplicationDelegate中的某些方法會收到通知。以下是UIApplicationDelegate中可用的方法。
application didFinishLaunchingWithOptions:-> Bool - 此方法在應用程式首次啟動時呼叫。我們可以在此方法中執行應用程式的初始設定,例如Firebase配置、推送通知和位置訪問許可權、庫設定等。相同的方法用於設定我們的第一個視窗以載入。
applicationWillEnterForeground - 當應用程式從後臺模式進入前臺模式時,此方法將被執行。在此方法中,您可以執行一些操作,例如繼續動畫、恢復任務、恢復下載程序等。
applicationDidBecomeActive - 此方法用於執行任務,例如當應用程式變為活動狀態並當前處於前臺模式時更新主題。
applicationWillResignActive - 這將通知您您的應用程式即將變為非活動狀態。應用程式不會進入後臺模式,而是在非活動模式下停留在螢幕上。如果您接聽電話等,可能會發生這種情況。
applicationDidEnterBackground - 如果應用程式由於任何原因進入後臺,此方法會通知您執行指定的操作,例如暫停動畫、暫停同步或停止不再需要的任何繁重操作。
applicationWillTerminate - 如果應用程式即將被作業系統從記憶體中終止或殺死,此方法將通知您在程式碼中執行任何最終清理工作。
在didFinishLaunchingWithOptions方法中,我們可以放置在應用程式啟動時執行的程式碼。當用戶需要登入才能使用應用程式時,我們可以檢查UserDefaults以檢視使用者是否已登入到應用程式。登入後,使用者可以導航到主螢幕。否則,使用者可以導航到登入螢幕。
@UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { /* 1. Override this function to perform the tasks that need to be performed on app launch. 2. Set up Firebase configuration, library configuration, app theme, etc. */ return true } func applicationWillResignActive(_ application: UIApplication) { /* You can pause ongoing processes like timers, animation, graphics, location access, etc. */ } func applicationDidEnterBackground(_ application: UIApplication) { /* You can invalidate running timers, save critical information of an user, released shared resources, etc. */ } func applicationWillEnterForeground(_ application: UIApplication) { // Resume the actions that are paused in background mode. } func applicationDidBecomeActive(_ application: UIApplication) { // You can refresh the user interface, restarting the actions that were paused when the app goes in inactive mode. } func applicationWillTerminate(_ application: UIApplication) { // You can save critical information in the app. } }
結論
當您在移動裝置上開啟應用程式時,會發生很多事情。iOS作業系統是最直觀和使用者友好的作業系統之一。瞭解移動應用程式的生命週期對於成功管理任何型別的應用程式至關重要。經驗豐富的開發者將能夠利用生命週期的強大功能。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP