首先对安卓里面几个相关的概念解释一下
1.Foreground process 前台线程
可以看到应用程序的前台,并且可以操作这个应用程序
2.Visible process 可以看到这个进程,但是操作不了
弹出dialog的情况?
3.service process
应用程序带有一个或者多个服务在运行
4.后台线程
应用程序被最小化,没有退出
5.空进程
应用程序没有任何活动的组件
优先级上面
前台进程>可视进程>服务进程>后台进程>空进程
如果使用子线程而不是使用服务来代替的话,系统在发现内存不足的时候,就会优先回收这样的进程,但是如果有服务的话,由于服务有一定的优先级,就不会并轻易地杀死,并且系统还开始在系统资源不紧张的时候重新创建服务。
服务里面默认是不能执行耗时的操作的,因为服务运行在主线程,也就是UI线程里面,因此最好需要在服务里面另开另外的线程去执行程序
网友评论