我尝试在网络时优化电池使用量。例如,如果我将所有的http请求保存在一个数组中,那么我将它们全部发送(只需立即清空阵列(for loop)),天线是否会打开一次以执行10个请求,或者它会打开并且关了n次? (我使用的是NSURLRequest)
有没有办法一次批量发送请求?或者这基本上是#34;批次"发送请求。
答案 0 :(得分:1)
文档没有说明iDevice的硬件如何处理多个NSURLRequests
。可能是一个型号或操作系统版本的处理与另一个型号(例如iPhone 4与iPhone 5)不同。
您必须使用仪器并使用能源诊断自行研究。但是,这很简单。这是一个简短的计划如何做到:
Xcode
或Instruments
。Settings
> Developer
并打开电源记录。Instruments
中,打开Energy Diagnostics
模板。File
> Import Energy Diagnostics from Device
。 答案 1 :(得分:0)
操作系统执行的能源优化尚未公开。
特定接口的确切处理取决于接口,因此某些接口的设置/拆卸成本非常低(例如蓝牙LE),而其他接口的运行成本非常低,但需要时间来设置和拆除(例如2G)。
您通常必须选择一门课程,为操作系统提供最佳选择,然后让它尽其所能。
我们可以说几件事。对于单个数据包,连接不太可能正在上电/断电,因此当有数据要发送时,连接将上电,并且只要您尝试接收就会保持连接。操作系统在等待时可能能够以较低的功率运行,因为它不需要ACK数据包,但它无法完全断电。
总而言之,如果你按顺序发送请求,我相信操作系统不太可能在请求之间循环供电,如果你并行发送它,它几乎肯定不会。
这是值得优化的吗?取决于你做了多少。
可能感兴趣的是:后台下载,当操作系统知道它将要进行其他网络活动时,操作系统会对您进行提取。