减少通过智能手机广播下载内容的应用对电池的影响

Ret*_*ier 70 mobile android 3g

如果我正在构建一个定期从服务器下载数据的智能手机应用程序,并且还间歇性地上传数据(分析,广告等),我该怎么做才能最大限度地减少这些传输对电池寿命的影响?

使用无线电(2G,3G,LTE等)的传输对电池的影响尤为显着.无线电的电源使用情况是否会影响我选择何时,何地以及如何传输数据以最大限度地减少其对电池寿命的影响?

Ret*_*ier 79

这个答案总结自Android培训课程,在 不耗尽电池的情况下传输数据,解释了如何最大限度地减少下载和网络连接对电池寿命的影响,特别是与无线电相关.

特别是针对高效网络访问的优化下载 详细解释了无线电状态机,并继续解释应用的连接模型应如何与其进行交互以最大限度地减少相关的电池消耗.

无线电状态机

参考

每次创建新的网络连接时,无线电都将转换为全功率状态.这种转变通常需要大约2秒,因此为了最小化延迟,无线电引入延迟以推迟向较低能量状态的转变.

传输完成后,典型的3G无线电将保持全功率状态5秒,然后再等待12秒处于低能耗状态,然后再进入待机状态.每次进行连接时,收音机总共将耗电近20秒.

这种方法可能导致在现代智能手机操作系统上运行的应用程序效率低下,其中应用程序在前台(延迟很重要)和后台(应优先考虑电池寿命)中运行.

解决方案

减少下载对电池影响的关键是认识到传输频率比下载大小产生更大的影响.实际上,预取和排队/捆绑您的转账特别有效.

知道每次启动连接都可能导致无线电功率接近20秒,所以捆绑数据传输非常重要,这样才能实现相应时间窗内发生的相移传输,以便您在每次传输会话期间传输尽可能多的数据,以最大限度地减少会话数.

同样,预取允许您通过单个连接以满容量下载单个突发中给定时间段内可能需要的所有数据.通过前端加载传输,您可以减少下载数据所需的无线电激活次数,从而延长电池寿命,改善延迟,降低带宽并缩短下载时间.

但是,预取还会导致通过下载未使用的数据来增加电池消耗和带宽使用的风险.

预取的积极程度取决于下载数据的大小及其使用的可能性.一般来说,预取数据是一种很好的做法,这样您只需要每2到5分钟启动一次下载,大约需要1到5兆字节.

重用现有的网络连接而不是创建新的网络连接通常也更有效.重用连接还允许网络更智能地对拥塞和相关网络数据问题做出反应.


bjn*_*ord 11

我建议您在应用程序的设置中添加"频繁同步"首选项 - 因此用户在平衡数据新鲜度与电池使用量方面有一些发言权.不同用户有不同的优先级.