数十亿设备的电池消耗

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

减少电池消耗

您可以采取一些步骤来确保您的应用程序仅在需要时才消耗电池电量,并且不会消耗超过必要的电量。

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

基准测试电池使用情况

在受控环境中对应用程序的电池使用情况进行基准测试,有助于您了解应用程序中占用电池电量较多的任务。最好对应用程序的电池使用情况进行基准测试,以评估效率并跟踪随时间的变化。 Batterystats 会收集有关您的应用程序的电池数据,而 Battery Historian 会将这些数据转换为 HTML 可视化效果。

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