android杀掉进程顺序
Android的5個進程等級(Process Levels)
1) Foreground Process
正處于Activity Resume() 狀態
正處于與bound服務交互的狀態
正處于服務在前臺運行的狀態 , (startForeground() 被調用)
Service生命周期函數正在被執行 ( onCreate() , onStart() , onDestroy())
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的進程,保留這個進程主要是為了緩存的需要
具體的應用:
1.不希望系統關掉sevice中斷服務方法 :
如音樂sevice 啟動sevice時調用startForeground()前臺啟動,不會被系統關掉,音樂會繼續播放,除非通過人機交互手動確認關掉.
2.空進程是為了做緩存,內存里記錄一些值,下次打開快。
3.如果又有Service又有Visible Activity怎么辦?
if a process hosts a service and a visible activity, the process is ranked as a visible process, not a service process.
當進程既有Service 并且 有Visible Activity的時候,進程會被認為是Visible 進程 。?
得出結論:優先級高的為準。
總結
以上是生活随笔為你收集整理的android杀掉进程顺序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: onSaveInstanceState在
- 下一篇: android.os.Build 信息类