Android系统的五种进程类别

前台进程:

1.activity处于用户可见并且可交互(onresume)状态
2.broadcastreceiver-onreceiver 广播处于onReceiver方法中
3.service 服务在oncreate onstart ondestroy方法中
4.home状态的应用内服务被其他应用绑定过程中,也是前台进程
杀死foreground需要用户响应,因为这个安全优先级是最高的,是用户操作所必须的,任一时间下,仅有少数进程会处于前台,仅当内存实在无法供给它们维持同时运行时才会被杀死。一般来说,在这种情况下,设备依然处于使用虚拟内存的状态,必须要杀死一些前台进程以用户界面保持响应。

可视进程:

1.activity处于用户可见但是不可交互(onpause)状态
2.一个绑定到可视的activity上的service的服务。例如 可视进程A,它绑定着service,而这个service是应用S的,那么应用S也是可视进程
可视进程依然被视为是很重要的,非到不杀死它们便无法维持前台进程运行时,才会被杀死。

服务进程:

1.应用启动service后,回到后台桌面,那么当前进程就是服务进程
系统会尽量维持它们的运行,除非系统内存不足以维持前台进程和可视进程的运行需要。

后台进程:

1.activity处于用户不可见不可交互状态(onstop)
这些进程与用户体验没有直接的联系,可以在任意时间被杀死以回收内存供前台进程、可视进程以及服务进程使用。一般来说,会有很多背景进程 运行,所以它们一般存放于一个LRU(最后使用)列表中以确保最后被用户使用的activity最后被杀死。如果一个activity正确的实现了生命周 期方法,并捕获了正确的状态,则杀死它的进程对用户体验不会有任何不良影响。

空进程:

1.没有运行任何组件的进程,保留这个进程主要是为了缓存的需要
这种进程存在的唯一原因是做为缓存以改善组件再次于其中运行时的启动时间。系统经常会杀死这种进程以保持进程缓存和系统内核缓存之间的平衡。



你可能感兴趣的:(Android系统的五种进程类别)