0

我有一个每天 24 小时运行的服务。这个服务是由一个 Activity 启动的,它运行得无法定义。在服务内部,每 1 分钟运行一个单独的线程并从服务器获取数据。因此,每当更新时,我都会更新sendBroadcastList Fragment 并从服务接收消息并重新启动 Loader 以更新 List Fragment。

  1. 这种方法正确与否?
  2. 如果列表片段(有广播接收器)破坏了sendBroadcast产品有什么问题吗?
4

1 回答 1

3

报废整个事情,从头开始 :) 在 Android 上运行“每天 24 小时”几乎是不可能的,因为一旦屏幕关闭,它就会进入睡眠状态。如果你强迫它保持开启状态,你会很快吃掉电池。所以报废那部分。每分钟从服务器更新数据也是一个坏主意:太多的网络调用会消耗电池,并且在 3G 网络上可能需要很长时间。此外,当用户在另一个应用程序中时,他们可能不关心这些更新,因此您将浪费资源来获取没人会看到的东西。

如果需要,请使用 AralamManager 为您的服务安排定期更新。重新考虑“每分钟”部分。让活动注册自己以进行更新onStart()并取消注册onStop()

于 2013-01-08T06:55:06.103 回答