如果我们已经拥有WorkManager以及一些具有相同功能的漂亮反向端口(JobSchedulerAndroidJob),为什么我们需要新的Android FirebaseJobDispatcher?它具有杀手级功能吗?因为我没有看到,所以没有使我想要迁移到另一个调度程序。

最佳答案

“WorkManager具有许多不错的功能,但是其主要目标是在较旧的设备上使用JobScheduler的API”。他们怎么了?简而言之:

  • FireaseJobDispatcher很好,但是需要Google Play 来安排工作,例如,如果我们定位到中国,这是不好的。
  • Evernote的AndroidJob是一个出色的backport,具有许多功能。恕我直言,这是安排任何工作的最佳选择。但是,现在该库的最新版本在后台使用了前述的WorkManager。而且,不幸的是,the library will be deprecated或迟或早:



  • 他们建议切换到WorkManager,因为它提供了更多功能,并且还给了我们简短的比较:
    |   Feature          | android-job | WorkManager |
    | ------------------ | ----------- | ----------- |
    | Exact jobs         | Yes         | No          |
    | Transient jobs     | Yes         | No          |
    | Daily jobs         | Yes         | No          |
    | Custom Logger      | Yes         | No          |
    | Observe job status | No          | Yes         |
    | Chained jobs       | No          | Yes         |
    | Work sequences     | No          | Yes         |
    

    Imo,最后3个功能是非常有用的,只有WorkManager 支持该功能。所以我最后一个问题的答案是肯定的,它确实具有一些杀手级特征:
  • 不需要Google Play
  • 可查询的
  • 可链接的
  • 机会主义者
    要了解有关WorkManager的更多信息,请务必观看Sumir Kataria的this talk

    P.S.如果有人知道为什么FirebaseJobDispatcher is actively supported by Google engineers而不是被弃用,请在下面的评论中写下:)

    关于android - Android WorkManager与JobScheduler,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50279364/

    10-09 05:56