0

一旦有互联网连接,我需要提交一些数据。到目前为止,我已经通过在清单中为 CONNECTIVITY_ACTION 事件注册广播接收器来完成此操作。这很好用,但现在我担心性能。我的意思是有时会经常发送 CONNECTIVITY_ACTION 广播,并且每次我的应用程序将被“启动”只是为了尝试提交一些数据,而这些数据当时甚至可能不存在。

有没有更好的方法来做到这一点?还是真的不重要?我的意思是我可以在每个活动中注册一个接收器,但我认为这不是很整洁。我知道我可以从 Activity 派生一个类(以覆盖 onResume 和 onPause),但由于我也在使用 FragmentActivity,所以这也不是最好的选择。

你对如何做到这一点有一些建议吗?如果连接可用,则不需要立即发送数据(我的意思是这很好但不是必需的)。我也可以尝试在每个活动的 onResume 方法中发送数据,但这并不像我想要的那样整洁......

4

1 回答 1

0

许多应用程序启动接收该广播。自己检查 logcat。一些应用程序有一个正在运行的服务来检查连接,抛出异常。

正如 Google 工程师多次指出的那样,与每隔几分钟关闭收音机相比,在收音机处于活动模式时执行任务并为缓存做一些额外的工作对电池的消耗更少。请参阅Reto Meier的 2012 Google I/O 演讲。他概述了它应该如何工作以及为什么。

于 2013-07-14T16:51:00.847 回答