目前,在 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 中有一个很好的比较表 github page :
关键区别在于 Google Play 服务的存在:Firebase 需要设备才能安装它,而 Evernote 是独立于 Play 服务的。
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
,因为它会耗尽电池电量。作业调度程序的一个关键特性是它们组合作业并在单个窗口中执行它们,因此设备不会过于频繁地唤醒。
你最好坚持使用工作调度器,除非服药应该有准确的时间,比如警报(例如,你想通知用户在 3 小时内准确服药)。
关于android - Firebase JobDispatcher vs Evernote Android Job——这两者如何比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43198096/