Android后台服务与AlarmManager

时间:2011-10-19 07:36:14

标签: android service refresh sync alarmmanager

有人可以通过Alarm Manager向Android背景服务提供一些简介或更精细的细节吗?

他们有何不同?我应该在哪种情况下使用它们?

我正在开发一个需要定期从Web Service下载数据的应用程序。该应用程序具有很少的模块,每个模块具有不同的间隔时间段来下载/同步数据到Web服务。

让我们说 +模块A需要每15分钟同步一次 +模块B需要每1小时同步一次 +模块C需要每天同步 +模块D需要每周同步 +模块E需要每月同步

哪种方法更好?为什么?

此致

3 个答案:

答案 0 :(得分:8)

警报管理器安排意图。您的服务可能会崩溃,如果内存不可用,可以将其删除。但是,如果您安排闹钟,则可以在闹钟时间调用您的特定服务。在您的上下文中,警报是比运行服务更好的选择。

希望它会对你有所帮助。

答案 1 :(得分:0)

在AlarmManager的帮助下,您可以安排意图。您的服务或BroadcastReceiver可以监听这些计划的意图并在给定时间执行任务。您不仅可以使用AlarmManager来实现程序逻辑。

您可以使用AlarmManager每15分钟发出一次意图,其中A动作,B每小时一次,依此类推。您的模块可以作为独立服务实现,也可以决定意图操作。

请记住,不应在BroadcastReceiver中执行长时间的操作。

答案 2 :(得分:0)

对此新博客帖子进行了很好的分析:https://android-developers.googleblog.com/2018/10/modern-background-execution-in-android.html?linkId=58286424

对于常规同步,您可能最终使用WorkManager,在特定时间启动或由推送消息(FCM)触发

相关问题