android process lifecycle 進程等級

首先,andorid的內核是linux,ios的內核是unix,他們的線程銷毀都是由系統決定的。

android的process有5個等級:

1、Foreground Process (前臺進程)

foreground 的優先級最高,他處於前臺

a 正處於Activity Resume()狀態

b 正處於與bound服務交互的狀態

c 正處於服務在前臺的狀態,(startForeground()被調用)

d Service生命周期函數正在被執行(onCreate(),onStart(),onDestroy())

e BroadcastReceiver正在執行onReceive()方法

殺死Foreground Process需要用戶響應,因為這個安全優先級是最高的。

2、Visible Process

Activity不在前臺顯示,但也沒有隱藏,能夠看的見,比如彈出一個對話框 (input Method)

一個bound到visible或者foreground的activity的Service ,或者是一個輸入法

3、Service Process

正在運行的,不在上述兩種狀態的Service

4、Background Process

不可見狀態的Activity進程,onStop()被調用

5、Empty Process

沒有運行任何Components的進程,保留這個進程主要是為瞭緩存的需要。

 

摘自 C'est la vie

發佈留言