优化应用发起的网络使用行为

应用发起的网络流量通常可以得到大幅优化,因为您可以规划应用所需的网络资源并设置访问时间表。通过实施周密的调度,您可以为设备无线装置创建大量的休息时间段,从而节省电量。有几个 Android API 可以协助调度网络访问,其中一些功能可协调其他应用的网络访问,从而进一步优化电池性能。

本节课将介绍如何应用技巧来优化应用发起的网络流量,从而减少耗电量。

批量处理和调度网络请求

在移动设备上,打开无线装置、建立连接并让无线装置保持唤醒的过程会耗费很多电量。因此,随机处理各个请求会消耗大量电量并缩短电池续航时间。更高效的方法是将一组网络请求排入队列并一起处理。这样,系统只需付出一次打开无线装置的电力成本,但仍能获得应用请求的全部数据。

使用网络访问调度程序 API 对应用数据请求进行排队和处理可显著提高应用的用电效率。调度程序将请求分组在一起以供系统处理,从而节省电池电量。它们可以将某些请求推迟到其他请求唤醒移动无线装置或等到设备充电,进一步提高了效率。调度程序在系统范围推迟和批量处理设备上所有应用的网络请求,比起任何单个应用,可以为优化带来优势。

允许系统检查连接

有一个最严重且最意想不到的耗电情形是当用户移动到任何手机基站或接入点覆盖范围之外时。在这种情形下,用户通常不在使用设备,但会注意到设备发热,然后看到电量不足或电量耗尽。

这种情形的问题在于,应用运行的后台进程会定期不断唤醒移动无线装置以搜索移动网络信号,但找不到任何信号。搜索手机信号是最耗电的操作之一。

要避免为应用的用户带来此类问题,可使用低电耗方法检查连接。对于应用发起的网络请求,使用 WorkManager 调度作业,限制作业在网络可用时运行。