android - Firebase JobDispatcher vs Evernote Android Job——这两者如何比较?

标签 android alarmmanager android-jobscheduler firebase-job-dispatcher android-job

目前,在 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 :

enter image description here

关键区别在于 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/

相关文章:

android - 当设备在 Android 中处于 sleep 状态时,AlarmManager 警报不起作用

android - 如何使用 JobScheduler 从后台应用程序获取步数

android - 什么时候调用 JobScheduler?

android - 延迟 Action 和 BroadcastReceiver

android - 创建通知 channel react 原生

android - 应用程序在 Play 商店打开时重新启动点击

具有搜索功能的 Android ListView

android - 在 Android 上使用 RTC 闹钟时允许手机休眠

android - 使用 AlarmManager 每天发送 Intent?

android - SyncAdapter 与 JobScheduler