首先我们来了解一下什么是进程。进程是一个独立(selfcontained)的运行环境,它可以被看做是一个程序或者一个应用。
进程分为五个等级的优先级:(从高到低)
- Foreground process 前台进程 它指的是用户正在使用的应用程序对应的进程。
- Visible process 可视进程 它指的是用户仍然可以见到该进程的界面。
- Service process 服务进程 它指的是应用程序有一个服务组件在后台运行。
- Background process 后台进程 它指的是应用程序没有服务在运行,并且应用程序最小化了。
- Empty process 空进程 它指的是没有任何的Activity在运行, 任务栈是空的。
当有需要长期后台运行的组件,不要在Activity中开启线程。应该是创建服务,然后在服务里面开启子线程。
服务的目的:
- 长期后台运行
- 提高进程的优先级,系统不容易回收掉进程,即使是回收了,在系统内存充足的时候,也会再把该进程创建出来。