根据网络连接类型来调整下载模式
所有的网络类型(Wi-Fi、3G、2G等)对电量的消耗并不是一样的。不仅是 Wi-Fi 电波比无线电波的耗电量要少很多,而且不同的无线电波(3G、2G、LTE……)使用的电量也不同。
在大多数情况下,Wi-Fi 电波会在使用相对较低电量的情况下提供一个相对较大的带宽。因此,我们需要争取尽量使用 Wi-Fi 来传递数据。
使用更大的带宽来更不频繁地下载更多数据
当通过无线电进行连接的时候,更大的带宽通常伴随着更多的电量消耗。这意味着 LTE(一种4G网络制式)会比 3G 制式更耗电,当然比起 2G 更甚。
从 Lesson 1 我们知道了无线电状态机是怎么回事,通常来说相对更宽的带宽网络制式会有更长的状态切换时间(也就是从 full power 过渡到 standby 有更长一段时间的延迟)。
例如:如果 LTE 无线电的带宽与电量消耗都是 3G 无线电的2倍,我们应该在每次会话的时候都下载4倍于 3G 的数据量,或者是差不多 10Mb(前面文章有说明 3G 一般每次下载 2Mb)。当然,下载到这么多数据的时候,我们需要好好考虑预取本地存储的效率并且需要经常刷新预取的缓存。
我们可以使用 connectivity manager 来判断当前激活的无线电波,并且根据不同结果来修改预取操作。