我有一项服务,每天24小时运行。此服务由一个活动启动,并且无限期地运行。在服务内部,一个单独的线程运行并每1分钟从服务器获取数据。因此,每当更新时,我使用sendBroadcast
更新List Fragment并从服务接收消息并重新启动Loader以更新List Fragment。
sendBroadcast
会产生任何问题吗?答案 0 :(得分:3)
全部废弃并从头开始:)在Android上运行“每天24小时”几乎是不可能的,因为一旦屏幕关闭它就会进入休眠状态。如果你强迫它继续,你会立刻吃掉电池。废弃那部分。每分钟从服务器更新数据也是一个坏主意:电池网络呼叫太多,可能需要很长时间才能在3G网络上运行。此外,当用户在另一个应用程序中时,用户可能并不关心这些更新,因此您将浪费资源来获取任何人都看不到的内容。
如果需要,请使用AralamManager为您的服务安排定期更新。重新考虑“每分钟”部分。让活动注册更新onStart()
并取消注册onStop()
。