前台进程:你可以看到应用的界面,并且可以和它交互,这就是前台进程啦!
可视进程:你可以看到这个进程,但是不可以操作,这也是和前台进程的区别,就是不可以操作。
服务进程:长期于后台执行,没有界面也在跑的进程就叫做服务进程啦。
后台进程:所谓的后台进程就是程序最小化,本质上是没有退出的。
空进程:程序程序的组件没有任何的活动,也就是挂了嘛!
内存的大小是有限制的,也就是设备的大小是有限的。android操作系统需要合理地管理这些资源,根据优先级,保证用户可以使用等等。所以需要对这些进程进行一个优先级排列,当资源不够用的时候呢,就会去杀掉,或者说清空低级别的进程。
前台进程>可视进程>服务进程>后台进程>空进程
好,当你看到这里的时候,我们回到前面的,开一个子线程,执行一些没有界面也不会退出的任务。那么我们这样去操作:开启一个子线程以后,我直接最小化,这个程序,它是不是就变成了一个后台进程呢?对吧,当资源不够用的时候,它呢就把这个后台进程杀死,并且,这个子线程再也不会起来了!
但是,服务不一样,首先,比后台进程的优先级高,所以不那么容易杀死,另外,服务真的因为资源不够而被杀死了,等到资源释放够了,或者其他东西执行完了,够资源了,服务又自动地跑起来了!
我们为什么要用服务呢?
服务可以长期在后台运行,即使没有界面,优先级比较高,不容易被杀死。
即使服务被杀死了,也可以自动地被操作系统启动起来。