提问者:小点点

IntentService+startForeground vs JobIntentService


由于Android Oreo后台执行限制,文档建议将IntentService重构为JobIntentService

JobIntentService立即作为Oreo下面的IntentService运行,但在Oreo+上调度作业

https://developer.android.com/reference/android/support/v4/app/jobintentservice

在什么情况下,将正常的IntentService作为前台服务运行并带有持久通知是有意义的,何时JobIntentService更好?

我可以在JobintentService中看到一个缺点是它不能立即启动。


共1个答案

匿名用户

前台服务不会受到打瞌睡的影响,但如果你需要在屏幕关闭时继续任务,你仍然必须使用唤醒锁。

JobIntentService(使用JobScheduler)为您管理唤醒锁,但您对何时启动作业的控制较少。

我会将前台IntentService(或Service)用于应立即运行且不应被系统暂停/终止的高优先级任务(例如下载数据库)。