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中更新 进程