我的应用程序需要每天更新本地数据库,它会调用公共存储库请求最新添加/修改的项目,或者自上次更新设备中的数据库以来添加/修改的项目。有几种技术,比如使用:AlarmManager,jobDispatcher,JobScheduler,SynchAdapter,每个API都有利弊:CPU使用率低(好),它唤醒应用程序(不理想),可以通过操作系统取消来释放资源(不好)。
在某些条件下,每日更新的最佳方式是什么:
- 即使应用已关闭,也应执行更新。
- 更新应在时间范围(00:00至05:00)内执行。
如果设备通过wifi连接,则更新。
- 电池充电量超过50%。
- 它不需要唤醒设备。
答案 0 :(得分:0)
使用evernote
提供的Android-Job库。它易于使用。它使用JobScheduler, GcmNetworkManager
或AlarmManager
。它可以回到冰淇淋三明治。根据您的要求,此库决定哪种API适合您的工作。
此库具有一些先进功能,例如您可以指定所需的网络连接,充电状态,定期执行。
同时查看this博文。