當Android系統出現系統資源不足時,會殺死(kill)一些進程,可是這不是隨機的,而是具備必定規則的:前端
一、空進程對象
這是Android系統優先殺死的,由於此時該進程已經沒有任何用途。進程
二、後臺進程資源
包含不可見的Activity,即跳轉到其餘activity後,因爲資源不足,系統會將原來的activity殺死(即跳轉的來源)it
三、服務進程後臺
即Service,當系統資源不足時,系統可能會殺掉正在執行任務的Service。所以在Service執行比較耗時的操做,並不能保證必定能執行完畢。activity
四、可見進程vi
當前屏幕上能夠看到的activity,例如顯示一個對話框的activity,那麼對話框變成了前臺進程,而調用他的activity是可見進程,但並非前臺的。co
五、前臺進程block
當前處於最前端的activity,也就是Android最後考慮殺死的對象。通常來講,前臺進程Android系統是不會殺死的,只有當前4個都殺掉資源依舊不夠纔可能會發生。
這就是Android系統釋放資源的優先順序,那麼反過來就是他們的優先級,即前臺進程是最早獲取資源,最後釋放的。