我正在开发一个支持Android版本21和更高版本的应用程序。我的大部分后台任务都是使用API 21中引入的JobScheduler来设计的。
我最近在API 26中遇到了JobIntentService介绍。文档中说,“在Android或更高版本上运行时,工作将通过JobScheduler.enqueue作为作业分派,而在较旧版本的平台上运行时,它将使用Context.startService。”
我想要理解的是,为什么android只使用API 26而不是API 21中的JoScheduler。API 26及以上的JobScheduler与API 21中引入的API有什么不同吗?我是否需要更改代码以提高效率/避免错误,将后台作业转换为使用JobIntentService而不是作业调度程序。我想我不明白JobIntentService想要达到什么目的。
发布于 2018-01-15 18:25:17
我不明白JobIntentService想要达到什么目的
JobIntentService是指替代IntentService/WakefulBroadcastReceiver组合,用于可能需要超过一分钟(但少于十分钟)且不希望使用前台服务的后台任务。
为什么android只使用API 26而不是API 21中的JoScheduler
只有谷歌才能回答这个问题,这就是为什么表格“开发者X为什么做出决定Y”的原因?不利于堆栈溢出。
请注意,“超过一分钟”的问题产生于API级别26+的背景限制;在以前的版本中,没有这样的限制。
API 26及以上的JobScheduler是否与API 21中引入的
已经发生了一些更改,包括一些使JobIntentService能够工作的扩展。
是否需要更改代码以提高效率/避免错误,将后台作业转换为使用JobIntentService而不是作业调度程序
我不知道您为什么要从自己的JobService切换到JobIntentService。JobIntentService是IntentService的替代品,而不是JobService的替代品。
https://stackoverflow.com/questions/48268657
复制相似问题