Android將進程分爲6個等級,它們按優先級順序由高到低依次是:
1.前臺進程( FOREGROUND_APP)
2.可視進程(VISIBLE_APP )
3. 次要服務進程(SECONDARY_SERVER )
4.後臺進程 (HIDDEN_APP)
5.內容供應節點(CONTENT_PROVIDER)
6.空進程(EMPTY_APP)
特徵
:
1.若是一個進程裏面同時包含service和可視的activity,那麼這個進程應該歸於可視進程,而不是service進程.
2.另外,若是其餘進程依賴於它的話,一個進程的等級能夠提升.例如,一個A進程裏的service被綁定到B進程裏的組件上,進程A將總被認爲至少和B進程同樣重要.
3.系統中的phone服務被劃分到前臺進程而不是次要服務進程.
在android中以進程的oom_adj值也就表明了它的優先級.
oom_adj值越高表明該進程優先級越低. android
adb shell cat /proc/<pid>/oom_adj 查看某個進程當前的oom_adj值 shell
進程oom_adj值的更新: spa
android進程的oom_adj都在ActivityManagerService中更新 進程