Firebase JobDispatcher vs Evernote Android Job - 这两个比较如何?

Firebase JobDispatcher vs Evernote Android Job - how do these two compare?

目前,在Android中,要根据时间或任何其他因素(如充电状态、网络状态等)定期执行任务,基本的三个选项是:Android AlarmManager (根据时​​间周期性工作), GCMTaskService (需要Google Play服务在设备上)JobScheduler (需要 Android 版本 > 21)。最近,我遇到了这两个用于安排作业的库,一个来自 Firebase,一个来自 Evernote。

我的主要问题是:这两个库如何比较?他们的长处和短处是什么?

我想构建一个应用程序,提醒用户在特定时间段后定期服药。

我的第二个问题是:简单的 AlarmManager 是否足以满足此目的,还是我应该使用这两个库中的任何一个?

谢谢。

How do these two libraries compare? What are their strength and weaknesses?

Firebase JobDispatcher 中有一个很好的 table 比较 github page:

主要区别在于 Google 存在播放服务:Firebase 需要设备才能安装它,而 Evernote 独立于播放服务。

I want to build an app where a user is reminded of taking medicines periodically after certain time period. Would simple AlarmManager suffice for this purpose, or should I go for any of these two libraries?

根据经验,您很可能不需要 AlarmManager,因为它会耗尽电池电量。作业调度程序的一个关键特性是它们组合作业并在单个 window 中执行它们,因此设备不会过于频繁地唤醒。

你最好坚持使用工作调度器,除非吃药应该像警报一样有准确的时间(例如你想通知用户在 3 小时内准确吃药)。