如果我们已经有了 JobScheduler和一些具有相同功能的漂亮的后端口(AndroidJob和FirebaseJobDispatcher),为什么我们还需要新的Android JobScheduler呢?它有什么杀手级的功能吗?因为我没有看到任何让我想要迁移到另一个调度器的。
发布于 2018-11-11 16:00:26
WorkManager
使用JobScheduler
服务来调度作业。如果设备不支持JobScheduler
,则使用Firebase JobDispatcher
服务。如果Firebase JobDispatcher
在设备上不可用,它将使用AlarmManager
和BroadcastReceiver
。
因此,使用WorkManager
,您不需要担心向后兼容性。除此之外,它还允许定义运行作业所需满足的约束,例如定义网络约束、电池电量、充电状态和存储容量。
它允许任务链接和将参数传递给作业。
http://www.zoftino.com/scheduling-tasks-with-workmanager-in-android
发布于 2018-05-11 07:49:34
WorkManager看起来像是谷歌对Evernote的Android-Job库的回应,但有一些改进。它使用JobScheduler,Firebase JobDispatcher和AlarmManager,就像Android-Job一样,这取决于设备的API级别。它们对标签的使用看起来非常相似,为作业/工作分配约束也足够相似。
我感到兴奋的两个特性是:能够链接工作和能够在有约束的工作中投机取巧。第一个将允许工作(工作)被分解,并且对我来说更加模块化。有了更多的模块化工作,每项工作可能会有更少的限制,从而提高了他们更早完成的机会(机会主义)。例如,大多数处理工作可以在满足具有网络约束的工作之前完成。
因此,如果您对当前的调度器实现感到满意,并且我提到的两个功能没有增加价值,那么我现在还看不到进行转换的巨大好处。但是如果你正在写一些新的东西,使用WorkManager可能是值得的。
发布于 2020-03-28 23:23:46
首先,WorkManager
用于可以推迟并需要保证执行的工作。考虑到向后兼容性,JobScheduler
只能在23+接口上工作。为了避免必须处理向后兼容性,WorkManager会为您做这件事:
工作管理器的功能
google play保证,约束感知的execution
JobSheduler
批处理您的工作,无论是否使用playWorkManager提供了回到API14级的兼容性。WorkManager根据设备API级选择适当的方式来调度后台任务。它可以使用JobScheduler (在API23和更高版本上)或AlarmManager和BroadcastReceiver的组合
引擎盖下的扩展架构
https://stackoverflow.com/questions/50279364
复制相似问题