http请求对电池寿命的影响

Sot*_*lis 6 java android java-ee

我有一个项目,其中一个客户端应用程序,可能在Android设备上,将从服务器请求一些文件.一种实现是从服务器到设备的突发传输,其中X文件与链接/指针一起被发送到下一个块.另一个实现是发送文件ID列表,然后为每个ID发出一个http请求并单独获取文件.我听说这真的会伤害电池寿命.真的吗?

另一个问题是带宽,客户端可能不希望/需要在一个突发中发送所有文件,因此服务器有点迫使客户端一起接受它们.在个人提交中,客户可以在他想要的时候获取文件.

对电池寿命的影响是如此之大,以至于超出带宽会是一个有效的选择吗?还是有其他选择吗?

Com*_*are 4

我听说这确实会影响电池寿命。真的吗?

不必要。在大多数 Android 设备上, 和HttpClientHttpUrlConnection可以支持Keep-Alive,因此如果您的 HTTP 服务器设置正确,并且您以相当快的速度连续发出请求,我预计不会有重大差异。

在个人提交中,客户只要需要就可以随时获取文件。

如果您的意思是他们可能会在相当长的一段时间内要求它们,那么这将无法发挥作用Keep-Alive。但是,您可能会请求更少的文件并消耗更少的带宽。不可能抽象地告诉您哪种方式更适合电池消耗。

对电池寿命的影响是否如此之大以至于超出带宽是一个有效的选择?

这取决于您的下载量、下载频率等。

但是,恕我直言,您关注的是错误的问题。

如果您消耗太多带宽而担心电池寿命,您的用户将会用干草叉和镐攻击您,因为您在计量数据计划上花费了这么多钱。

因此,我会使用TrafficStats并尝试各种场景来查看您实际使用了多少带宽,以及您是否需要找到总体上消耗更少带宽的方法(例如,降低轮询频率),以便用户不会因您的应用程序而破产。我怀疑你的电池问题会作为一个副作用而自行解决。

但是,如果在测试中,您发现您的应用程序显示在“设置”中的“电池责任屏幕”上,开始担心电池消耗,无论是来自带宽还是其他来源(例如,过度使用WakeLocks)。