1

标题可能已经说明了我的问题。我简单地描述了应用程序应该做什么。

  1. 以指定的时间间隔在后台下载 xml 数据(不仅在 UI 运行时)
  2. 处理这些数据
  3. 如果数据如此 -> 发送通知
  4. 如果用户打开UI,让UI获取数据
  5. 如果用户关闭 UI,间隔应该仍然存在

有人推荐服务,有人说应该使用Android的警报系统,因为正在进行的服务会占用大量内存并且很可能被系统杀死。

有人可以帮我找到最好的方法吗?

4

2 回答 2

0

报警管理器的好处:

  1. 警报管理器持有 CPU 唤醒锁并确保该onReceive方法将被执行。它还可以唤醒设备进行工作。
  2. 正如您所说,服务可以被系统破坏并且它拥有资源。

所以我认为对于这项工作,你应该使用警报管理器,它是专门为将来某个时候做的工作而设计的。

于 2013-08-01T18:34:00.267 回答
0

同步适配器。您可以将同步适配器配置为以指定的时间间隔运行。系统将检查以确保网络可用。同步适配器在后台运行。它可以发送通知。

通知的标准模式是,如果用户单击通知,它会发出一个内容 Intent。该 Intent 应该返回到您应用中的 Activity。此模式在通知 API 指南和通知用户培训课程中进行了描述。

当用户关闭 UI 时,间隔仍然存在;它会一直存在,直到您更改它或移除同步适配器。

请参阅使用同步适配器传输数据类。

如果此方法不适合您,请发表评论。

于 2013-08-01T20:08:51.303 回答