- Service的启动,停止是由ActivityManagerService来维护的;而JobService是由JobSchedulerService来维护的。
- Service无需任何条件就可以启动;而JobService启动需要JobInfo指定条件来启动,没有条件启动会抛异常。
- Service中onStartCommand()返回START_STICKY可以告诉AMS在被停止后自动启动;而JobService中onStopJob()返回true,如果设置了失败重试机制,即可在被强制停止后再度启动起来。
- 两者的使用场景
Service适合需要常驻后台,立即执行,进行数据获取,功能维持的场景。
比如 音乐播放,定位,邮件收发等。
JobService适合不需要常驻后台,不需要立即执行,在某种条件下触发,执行简单任务的场景。
参考:
https://blog.youkuaiyun.com/allisonchen/article/details/79282651
本文对比了Service与JobService的特点及使用场景。Service适用于需要常驻后台、立即执行的任务,如音乐播放、定位等;JobService则适用于在特定条件下执行简单任务的场景。
1805

被折叠的 条评论
为什么被折叠?



