美文网首页
为什么使用服务而不直接使用线程

为什么使用服务而不直接使用线程

作者: 雨之都 | 来源:发表于2019-12-26 13:32 被阅读0次

    首先对安卓里面几个相关的概念解释一下

    1.Foreground process 前台线程

    可以看到应用程序的前台,并且可以操作这个应用程序

    2.Visible process 可以看到这个进程,但是操作不了

    弹出dialog的情况?

    3.service process

    应用程序带有一个或者多个服务在运行

    4.后台线程

    应用程序被最小化,没有退出

    5.空进程

    应用程序没有任何活动的组件

    优先级上面

    前台进程>可视进程>服务进程>后台进程>空进程

    如果使用子线程而不是使用服务来代替的话,系统在发现内存不足的时候,就会优先回收这样的进程,但是如果有服务的话,由于服务有一定的优先级,就不会并轻易地杀死,并且系统还开始在系统资源不紧张的时候重新创建服务。

    服务里面默认是不能执行耗时的操作的,因为服务运行在主线程,也就是UI线程里面,因此最好需要在服务里面另开另外的线程去执行程序

    相关文章

      网友评论

          本文标题:为什么使用服务而不直接使用线程

          本文链接:https://www.haomeiwen.com/subject/stwkoctx.html