发送一批http请求时的天线使用情况

时间:2014-08-01 12:32:29

标签: ios objective-c nsurlrequest

我尝试在网络时优化电池使用量。例如,如果我将所有的http请求保存在一个数组中,那么我将它们全部发送(只需立即清空阵列(for loop)),天线是否会打开一次以执行10个请求,或者它会打开并且关了n次? (我使用的是NSURLRequest)

有没有办法一次批量发送请求?或者这基本上是#34;批次"发送请求。

2 个答案:

答案 0 :(得分:1)

文档没有说明iDevice的硬件如何处理多个NSURLRequests。可能是一个型号或操作系统版本的处理与另一个型号(例如iPhone 4与iPhone 5)不同。

您必须使用仪器并使用能源诊断自行研究。但是,这很简单。这是一个简短的计划如何做到:

  1. 将设备连接到您的开发系统。
  2. 启动XcodeInstruments
  3. 在设备上,选择Settings> Developer并打开电源记录。
  4. 断开设备并执行所需的测试。
  5. 重新连接设备。
  6. Instruments中,打开Energy Diagnostics模板。
  7. 选择File> Import Energy Diagnostics from Device
  8. 此外,请查看Analyzing CPU Usage in Your App

答案 1 :(得分:0)

操作系统执行的能源优化尚未公开。

特定接口的确切处理取决于接口,因此某些接口的设置/拆卸成本非常低(例如蓝牙LE),而其他接口的运行成本非常低,但需要时间来设置和拆除(例如2G)。

您通常必须选择一门课程,为操作系统提供最佳选择,然后让它尽其所能。

我们可以说几件事。对于单个数据包,连接不太可能正在上电/断电,因此当有数据要发送时,连接将上电,并且只要您尝试接收就会保持连接。操作系统在等待时可能能够以较低的功率运行,因为它不需要ACK数据包,但它无法完全断电。

总而言之,如果你按顺序发送请求,我相信操作系统不太可能在请求之间循环供电,如果你并行发送它,它几乎肯定不会。

这是值得优化的吗?取决于你做了多少。

可能感兴趣的是:后台下载,当操作系统知道它将要进行其他网络活动时,操作系统会对您进行提取。