服务
一、服务的定义:
默默运行在后台的组件,同样可以理解为没有前台的activity,适合运行不需要前台界面的代码。(比如下载)。
二、进程优先级:
- 前台进程:拥有前台activity(onResume方法被调用)
- 可见进程:拥有可见activity(onPause方法被调用)
- 服务进程:不到万不得已不会被回收,而且即便被回收,内存充足时也会被重启
- 后台进程:拥有后台activity(activity的onStop方法被调用了),很容易被回收
- 空进程:没有运行任何activity,很容易被回收
三、Activity的进程在后台也可以运行,为什么不使用Activity替代服务。
因为Activity为可不见的时候,Activity所在进程的优先级就比较低,后台进程和空进程在内存不足的情况下,很容易被回收,影响程序的运行。比如,下载到一半进程被杀死,影响使用效果。