作者:银仔-zxy | 来源:互联网 | 2023-02-07 17:02
目前,在Android中,要根据时间或任何其他因素(如充电状态,网络状态等)定期执行任务,基本的三个选项是:Android AlarmManager (根据时间定期工作),GCMTaskService (需要设备上的Google Play服务) )和JobScheduler (需要Android版本> 21).最近,我遇到了这两个用于安排工作的库,一个来自Firebase,另一个来自Evernote.
我的主要问题是:这两个库如何比较?他们的优点和缺点是什么?
我想建立一个应用程序,提醒用户在一段时间后定期服用药物.
我的第二个问题是:简单的AlarmManager是否足够用于此目的,或者我应该选择这两个库中的任何一个?
谢谢.
1> azizbekian..:
这两个库如何比较?他们的优点和缺点是什么?
在Firebase JobDispatcher github页面中有一个很好的比较表:
关键区别在于Google Play服务的存在:Firebase需要设备才能安装它,而Evernote则独立于Play服务.
我想建立一个应用程序,提醒用户在一段时间后定期服用药物.简单的AlarmManager是否足以满足这个目的,或者我应该选择这两个库中的任何一个?
经验法则是,你很可能不需要AlarmManager
,因为它是一个电池滤水器.作业调度程序的一个关键特性是它们组合作业并在单个窗口中执行它们,因此设备不会经常唤醒.
你最好坚持找工作调度员,除非服用药物应该有准确的时间报警(例如你想通知用户在3小时内准确服用药物).
@Mahmudul,如果您可以接受**而不是确切及时 - 您可以自由选择Job jobler方法.如果你需要准确 - 你必须坚持'AlarManager`.