ios 應用程式生命週期

2021-06-19 13:49:55 字數 1073 閱讀 6783



一、ios應用程式狀態機一共有五種狀態:

1. not running:

應用還沒有啟動,或者應用正在執行但是途中被系統停止。

2. inactive:

當前應用正在前台執行,但是並不接收事件(當前或許正在執行其它**)。一般每當應用要從乙個狀態切換到另乙個不同的狀態時,中途過渡會短暫停留在此狀態。

3. active:

當前應用正在前台執行,並且接收事件。這是應用正在前台執行時所處的正常狀態。

4. background:

應用處在後台,並且還在執行**。大多數將要進入suspended狀態的應用,會先短暫進入此狀態。然而,對於請求需要額外的執行時間的應用,會在此狀態保持更長一段時間。另外,如果乙個應用要求啟動時直接進入後台執行,這樣的應用會直接從not running狀態進入background狀態,中途不會經過inactive狀態。比如沒有介面的應用。注此處並不特指沒有介面的應用,其實也可以是有介面的應用,只是如果要直接進入background狀態的話,該應用介面不會被顯示。

5. suspended:

應用處在後台,並且已停止執行**。系統自動的將應用移入此狀態,且在此舉之前不會對應用做任何通知。當處在此狀態時,應用依然駐留記憶體但不執行任何程式**。當系統發生低記憶體告警時,系統將會將處於suspended狀態的應用清除出記憶體以為正在前台執行的應用提供足夠的記憶體。

大多時候狀態轉換通過呼叫你的應用委託物件繼承的delegate方法來完成。開發人員可以在提供的這些繼承方法中做任何事,以響應狀態轉換。相關繼承的方法及介紹如下所示:

:  這是程式啟動時呼叫的函式。可以在此方法中加入初始化相關的**。

:  應用在準備進入前台執行時執行的函式。(當應用從啟動到前台,或從後台轉入前台都會呼叫此方法)

:  應用當前正要從前台執行狀態離開時執行的函式。 :

此時應用處在background狀態,並且沒有執行任何**,未來將被掛起進入suspended狀態。

:  當前應用正從後台移入前台執行狀態,但是當前還沒有到active狀態時執行的函式。

:  當前應用即將被終止,在終止前呼叫的函式。如果應用當前處在suspended,此方法不會被呼叫。

IOS應用程式生命週期

程式的生命週期 a.程式的生命週期是指應用程式啟動到應用程式結束整個階段的全過程 二 ios應用程式5種狀態 1.not running 應用還沒有啟動,或者應用正在執行但是途中被系統停止 2.inactive 當前應用正在前台執行,但是並不接收事件 當前或許正在執行其它 一般每當應用要從乙個狀態切...

iOS 應用程式生命週期

剛買了關東昇老師的ios書,來記錄一下自己感覺有用的東西 首先說一下ios應用的五中狀態 這裡主要說一些主要的方法 程式啟動並進行初始化是呼叫 程式從活動狀態進入非活動狀態的時候呼叫 程式進入後台時呼叫該方法 程式進入前台但是還未處於活動狀態時呼叫該方法 程式進入前台並處於活動狀態時呼叫 應用程式被...

iOS應用程式生命週期

ios的應用程式的生命週期,還是程式執行在前台還是後台,應用程式各個狀態的變換,對於開發者來說都很重要的。ios系統的資源是有限的,應用程式在前台和後台的狀態是不一樣的。在後台時,程式會受到系統的很多限制,這樣可以提高電池的使用和使用者體驗。狀態如下 not running 未執行 程式沒啟動 in...