面向亿级用户的耗电量

能否获得可靠的电源供应情况各异,而且断电可能会干扰计划充电。通过对您的耗电情况进行基准测试、避免使用唤醒锁、安排任务以及监控传感器请求,保护用户的电池免受不必要的电量消耗。

降低耗电量

您可以采取几个步骤来帮助确保您的应用只在需要时消耗电池电量,并且消耗的电量不超过必要量。

  • 您的应用在后台运行时以及设备使用电池电量运行时,应最大限度地减少其活动。
  • 传感器(例如 GPS 传感器)会显著消耗电量。使用 FusedLocationProvider API 来管理底层位置技术,可以避免这些问题。它提供了一个简单的 API,使您可以从高层面指定要求(例如高精度或低功耗)。它还可以通过缓存位置信息和批量处理跨应用请求来优化设备的电池电量使用。有关请求位置信息的最佳方式的更多信息,请参阅获取最后已知位置培训指南。
  • 唤醒锁是一种保持设备开启以便执行后台活动的机制。应避免使用唤醒锁,因为它们会阻止设备进入低功耗状态。
  • 为了减少设备唤醒次数,应批量处理网络活动。有关批量处理的更多信息,请参阅 Android 培训文档 优化下载以实现高效网络访问
  • WorkManager 调度任务并允许系统批量处理操作。这极大地简化了常见模式的实现,例如等待网络连接、设备充电状态、重试和退避。当设备正在充电且连接到非按流量计费的网络时,使用 WorkManager 执行非必要的后台活动。
  • 有关网络活动如何耗电以及如何解决此问题的更多信息,请参阅降低网络耗电量

对耗电量进行基准测试

在受控环境中对应用的耗电量进行基准测试,有助于您了解应用中的耗电量高的任务。对应用的耗电量进行基准测试是一种良好的做法,可以衡量效率并跟踪随时间的变化。Batterystats 收集应用的电池数据,Battery Historian 将这些数据转换为 HTML 可视化报告。

有关降低耗电量的更多信息,请参阅 Android 培训文档 优化电池续航时间