数十亿设备的电池续航

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

减少电池消耗

您可以采取一些措施来确保您的应用仅在需要时才消耗电池电量,并且不会消耗过多的电量。

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

基准测试电池使用情况

在受控环境中对应用的电池使用情况进行基准测试,有助于您了解应用中耗电量大的任务。建议对应用的电池使用情况进行基准测试,以衡量效率并跟踪随时间推移的变化。Batterystats 会收集有关应用的电池数据,而 Battery Historian 会将这些数据转换为 HTML 可视化效果。

有关减少电池使用的更多信息,请参阅有关 优化电池续航时间 的 Android 培训。