在安卓系統中: 當系統內存不足時,Android系統將根據進程的優先級選擇殺死一 些不過重要的進程,優先級低的先殺死。進程優先級從高到低以下。 緩存
activity
activity
綁定的service
startForeground()
方法的service
oncreate()
,onstart()
,ondestroy
方法的 service
。 onReceive()
方法的BroadcastReceiver
。 系統中的前臺進程並不會不少,並且通常前臺進程都不會由於內存不足被殺死。特 殊狀況除外。當內存低到沒法保證全部的前臺進程同時運行時,纔會選擇殺死某個 進程。ide
activity
(例如:調用了onpause()
而還沒調用 onstop()
的activity)。典型狀況是:運行activity
時,彈出對話框(dialog
等),此時的activity
雖然不是前臺activity
,可是仍然可見。 service
。(處於上訴狀況下的activity
所綁定的service
)可視進程通常也不會被系統殺死,除非爲了保證前臺進程的運行不得已而爲之。code
activity
(調用onstop()
以後的activity
)後臺進程不會影響用戶的體驗,爲了保證前臺進程,可視進程,服務進程的運行, 系統隨時有可能殺死一個後臺進程。當一個正確實現了生命週期的activity處於後臺 被殺死時,若是用戶從新啓動,會恢復以前的運行狀態。生命週期