我正在开发一个支持Android API 21及以上版本的应用程序。我的大部分后台任务都是使用API 21中引入的JobScheduler设计的。
最近我发现了在API 26中引入的JobIntentService。文档中说:“当运行在Android O或更高版本上时,工作将通过JobScheduler.enqueue作为任务调度。当在旧版本平台上运行时,它将使用Context.startService。”
我想知道的是,为什么Android只从API 26开始使用JobScheduler,而不是从API 21开始呢?API 26及以上版本中的JobScheduler与API 21中引入的JobScheduler有何不同?我需要改变任何代码来提高效率/避免错误,将后台作业转换为使用JobIntentService而不是Job Schedulers吗?我猜我不理解JobIntentService试图实现的意图。