Android中进程的五个优先级介绍

一个进程的优先级跟它所包含的组件的状态相关。

一:前台进程

前台进程只要满足以下条件之一:

(1)该进程有一个Activity正在跟用户交互,即该Activity实例处于活动栈顶。

(2)该进程有一个BroadcastReceiver,并且正在调用它的onReceive()方法。

(3)该进程有一个Service,该Service是一个前台服务。

(4)该进程有一个Service,该Service跟一个正在与用户进行交互的Activity绑定。

(5)该进程有一个Service,该Service正在执行它的生命周期函数如onCreate()、onStart()、onDestroy()。

例子:比如用户正在操作某个APP,该APP的进程就是前台进程。

 

二:可见进程

前台进程只要满足以下条件之一:

(1)该进程有一个Activity是可见的,但不在栈顶,无法和用户进行交互。

(3)该进程有一个Service与一个可见的Activity绑定了。

例子:用户正在操作某个应用A,这时候弹出了其他应用B的小界面,并没有把之前的应用A界面完全遮挡住,则应用A的进程就是可见进程。

 

三:服务进程

该进程有一个Service,该Service没有绑定Activity(通过startService()启动),主要用来在后台运行一些逻辑。

例子:最常见的就是后台播放音乐,以及后台下载数据等等。

 

四:后台进程

该进程持有一个用户不可见的Activity,就属于后台进程。

例子:用户打开了一个应用A,然后又打开了一个应用B,应用A完全不可见,这时候应用A就是一个后台进程。

 

五:空进程

当一个进程不包含任何应用组件,就是一个空进程。空进程主要为了在下一次启动该进程组件时提高进程的启动速度。

你可能感兴趣的:(Android基础知识)