Android 應用生命週期

上週面試中有一題是請簡述Android 應用的生命週期,這有點讓人懵了!平時一般都是說四大組件的生命週期,這應用的生命週期還真不會描述,這是面試回來後從網上查資料的結果,順便記錄下來,如果對你有幫助,請頂一下唄,如果有錯誤,麻煩各位幫我留言斧正,本人不勝感激!
1.程序生命週期
一個Android 應用程序大概會經歷如下的生命週期:
(1)前臺進程
(2)可見進程
(3)服務進程
(4)後臺進程
(5)空進程

其進程的優先級順序如下:
前臺進程   >   可見進程  > 服務進程  > 後臺進程   > 空進程

2.說明:

(1)前臺進程:
Android 系統最爲重要的進程,是與用戶正在進行交互的進程;一般表現爲四種情況:一、Activity正在與用戶進行交互;二、進程被Activity 調用而且這個進程正在用戶進行交互;三、進程服務正在執行聲明中的回調函數,如onCreate()、onStart()等;四、BroadCastReceiver 正在執行 onReceive() 的函數。
當Android 系統在多個前臺進程同事運行時,可能會出現資源不足,部分前臺進程會被清除以保證用戶界面能夠及時響應。

(2)可見進程:部分程序界面能夠被用戶看見,卻不在前臺與用戶交互,不影響事件的進程。
如果一個進程包含服務,且這個服務正被用戶可見的Activity調用,此進程同樣被視爲可見進程。
Androdi進程一般存在少量的可見進程,只有在特殊情況下,Android系統纔會爲保證前臺進程的資源而清除可見進程。

(3)服務進程:
指已經啓動了服務的進程(沒有界面,在後臺運行)
Android系統除非不能保證前臺進程和可見進程所必要的資源,否則不強行清除服務進程。

(4)後臺進程:
指除了已經啓動了服務外,而且沒有任何用戶可見的Activity 進程。
Android 系統中一般會存在較多的後臺進程,在系統資源緊張時,會首先清除用戶長時間沒有使用的後臺進程。

(5)空進程;
不包含任何活躍組件的進程,爲了加快應用啓動速度,Android 系統將空進程保存在系統內存中。
這一類進程在系統資源緊張時會首先被清除(優先級越低越容易被清除)。

—-the end—–
接下來我會重新整理一遍關於Android 的基礎知識,如果有喜歡的,請頂起來!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章