有没有人可以简单介绍一下Android后台服务和Alarm Manager的区别?
它们有什么不同?在哪种情况下,我应该使用每一个?
我正在开发一个需要定期从Web服务下载数据的应用程序。该应用程序具有较少的模块,每个模块具有不同的间隔时间段来下载/同步数据到Web服务。
假设+模块A需要每15分钟同步一次+模块B需要每1小时同步一次+模块C需要每天同步+模块D需要每周同步+模块E需要每月同步
哪种方法更好?为什么?
问候
发布于 2011-10-19 19:26:25
AlarmManager计划意图。如果内存不可用,您的服务可能会崩溃并被删除。但是使用AlarmManager,您可以在计划的时间调用特定的服务。在您的上下文中,AlarmManager是比运行服务更好的选择。
希望能对你有所帮助。
发布于 2011-10-19 15:40:23
在AlarmManager的帮助下,您可以安排意图。您的服务或BroadcastReceiver可以侦听这些计划意图,并在给定时间执行任务。您不仅可以使用AlarmManager来实现程序逻辑。
您可以使用AlarmManager每15分钟发送一次意图,其中A执行一次操作,B每小时执行一次操作,依此类推。要么你的模块被实现为独立的服务,要么你决定要做什么。
还请记住,不应该在BroadcastReceiver中执行长操作。
发布于 2018-10-31 06:58:24
这篇新的博客文章有一个非常好的分析:https://android-developers.googleblog.com/2018/10/modern-background-execution-in-android.html?linkId=58286424
对于定期同步,您可能会在特定时间或由推送消息(FCM)触发时使用WorkManager。
https://stackoverflow.com/questions/7817964
复制相似问题