之前被问到 如果系统的资源不足,导致一些进程要被 Kill 掉,那么他们被杀死的先后顺序是怎么样的
这里具体的说一下 优先级顺序由低到高:
1. 空进程:
是指不包含任何处于活动状态(比如四大组件)的进程,那么它存在的意义是什么? 它是缓存一些启动数据, 方便下一次启动程序。这只是我浅的理解,如果有其他有关空进程的理解, 请多多指教。
2. 后台进程:
包含不可见的activity,在activity的生命周期中,用户不可见即处于 onstop()方法调用后,系统为了保证优先级更高的进程的运行,随时可能杀死一个后台进程。对于其生命周期, activity处于这个状态还可以被重新启动。
3. 服务进程:
包含已经启动的service,所以,如果在service中执行比较耗时的操作,不能保证一定能执行完毕。
4. 可见进程:
可见进程分为以下两种情况:
(1)进程包含未处于前台但是可见的activity ,对应于生命周期的 调用了 onpause()方法,但是没有调用 ondestory()方法,例如,运行activity时弹出对话框。
(2)进程中包含与可见activity绑定的service
5. 前台进程:
前台进程分为以下5中情况:
(1)进程中包含正与用户交互的activity
(2)进程中包含