Android進程管理基礎

Android系統自動管理打開並運行與後臺的應用戶程序。單個程序都有個oom_adj值,值越小,優先級越高,被殺死的可能性越低。

Android系統通常有一個內存警戒值與oom_adj值的對應表,每一個內存警戒值對應一個oom_adj值。當系統內存低於警戒值時,所有大於oom_adj值得進程都可被殺死。

  • 前臺進程

正在屏幕上顯示的進程和一些系統進程

  • 可見進程

不在前臺,但用戶依然可見的進程,舉個例來說:widget、輸入法等

  • 服務進程

通過 startService() 方法啓動的進程,但不屬於前臺進程和可見進程。例如,在後臺播放音樂或者在後臺下載就是服務進程。

  • 後臺進程

目前對用戶不可見的 Activity 的進程(已調用 Activity 的 onStop() 方法)。入A應用目前爲前臺進程,按下Home鍵回到桌面,A應用就變爲了後臺進程

  • 空進程

沒有任何東西在內運行的進程。保留這種進程的的唯一目的是用作緩存,以縮短該應用下次在其中運行組件所需的啓動時間。

回收順序

從先到後分別是:空進程,後臺進程,服務進程,可見進程,前臺進程


參考:
《Android安全機制解析與應用實踐》 第二章 Android安全模型
Android進程管理詳解
這可能是最全的Android:Process (進程)講解了

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