使用LocalService或AlarmManager执行重复且耗时的任务

时间:2012-09-06 05:24:45

标签: android service

目前,我有一个股票市场应用程序。我想执行以下股票提醒任务代码,即使我的股票市场应用程序正在关闭。

  

每30分钟通过HTTP网络协议执行股票报价检索列表。如果某些股票达到价格警报,则通过通知栏通知用户。

我想知道,我应该使用

  • LocalService有一个长时间运行的线程,在无限循环中睡30分钟而循环
  • 将每30分钟的任务安排到AlarmManager

我关心的是

  1. 如果我使用LocalService,假设用户通过Settings -> Apps -> Running -> Stop明确杀死股票市场应用程序,该服务也将被终止。库存警报任务代码将不再运行。
  2. AlarmManager可以确保即使用户杀死股票市场应用程序也会始终执行股票提醒任务代码吗?但是,它是否适合AlarmManager执行这样一个耗时的任务?
  3. 我想知道,我的情况下是否应该使用LocalServiceAlarmManager

    感谢。

1 个答案:

答案 0 :(得分:2)

我建议您使用AlarmManager发送待处理的意图,每30分钟启动一次服务。该服务完成其工作并致电stopSelf()。长时间保持服务闲置是浪费系统资源。