Android 用于每日数据库更新的最佳调度任务技术

Android 用于每日数据库更新的最佳调度任务技术,android,scheduled-tasks,Android,Scheduled Tasks,我的应用程序需要每天更新本地数据库,它会调用公共存储库,请求最新添加/修改的项目或自上次更新设备中的数据库以来添加/修改的项目。有几种技术,比如:AlarmManager、jobDispatcher、JobScheduler、SynchAdapter的使用,每种API都有其优缺点:CPU使用率低(好),它唤醒应用程序(不理想),可以被操作系统取消以释放资源(不好) 在某些条件下,每日更新的最佳方式是什么: -即使应用程序已关闭,也应执行更新 -更新应在时间范围(00:00至05:00)内执行 -

我的应用程序需要每天更新本地数据库,它会调用公共存储库,请求最新添加/修改的项目或自上次更新设备中的数据库以来添加/修改的项目。有几种技术,比如:AlarmManager、jobDispatcher、JobScheduler、SynchAdapter的使用,每种API都有其优缺点:CPU使用率低(好),它唤醒应用程序(不理想),可以被操作系统取消以释放资源(不好)

在某些条件下,每日更新的最佳方式是什么:

-即使应用程序已关闭,也应执行更新

-更新应在时间范围(00:00至05:00)内执行

-如果设备通过wifi连接,则可以更新

-电池电量超过50%

-它不需要唤醒设备。

使用evernote提供的库。它很容易使用。它使用
作业调度器、GcmNetworkManager
AlarmManager
。它的作用可以追溯到冰淇淋三明治。根据您的需求,此库决定哪种API适合您的工作

此库具有一些高级功能,例如您可以指定所需的网络连接、充电状态和定期执行

也可以查看博客帖子