Power Profiler

从 Android Studio Hedgehog 版本开始,Power Profiler 可以显示设备的功耗。您可以在设备上的电源轨监控器 (ODPM) 中查看此新数据。它按称为“电源轨”的子系统对信息进行分割。有关受支持子系统的列表,请参阅可分析的电源轨

系统跟踪记录并显示功耗数据。它是 CPU 分析器的一部分。此数据可帮助您将设备的功耗与应用中发生的事件进行视觉关联。Power Profiler 可实现此数据的可视化。

图 1.不同电源轨的功耗示例。

可分析的电源轨

ODPM 报告所有可分析的电源轨,可在 Android 10(API 级别 29)及更高版本以及 Pixel 6 及后续 Pixel 设备上使用。

表 1.各个电源轨的可用性预计会根据所使用的设备而变化。
电源轨名称 描述
CPU 大核 大 CPU 内核消耗的功率。
CPU 小核 小 CPU 内核消耗的功率。
CPU 中核 中 CPU 内核消耗的功率。
摄像头 摄像头传感器消耗的功率。
蜂窝网络 蜂窝网络传感器消耗的功率。
显示屏 显示屏消耗的功率。
GPS GPS 传感器消耗的功率。
GPU GPU 传感器消耗的功率。
内存 RAM 内存传感器消耗的功率。
传感器核心 其他设备传感器消耗的功率。
UFS(磁盘) 磁盘传感器消耗的功率。
WLAN Wifi 传感器消耗的功率。

不支持 ODPM 的设备可以通过库仑计数器和电池电量计提供功耗数据。

表 2.功耗数据。
名称 描述
容量 剩余电池百分比 (%)。
充电量 剩余电池电量,单位为微安时 (µAh)。
电流 瞬时电流,单位为微安 (µA)。

通过 Power Profiler 分析功耗的示例场景

假设您正在构建一个需要通过网络下载资源的应用。您希望了解在单独下载资源与批量下载资源时 WLAN 电源轨的功耗如何变化。

场景 A:应用发出单个网络请求以通过 WLAN 下载资源。

图 2.通过 WLAN 发出单个网络请求以下载资源。

场景 B:应用发出一个网络请求以通过 WLAN 下载一个非常大的资源。

图 3.通过 WLAN 发出单个网络请求以下载一个非常大的资源。

如前面的场景所示,这两个系统跟踪显示了基于您触发下载方式的 WLAN 电源轨中不同的功耗特征。

尽管前面的示例是一种测量不同场景中功耗的简单方法,但它演示了您可以构建更复杂的 A/B 测试以用于您的应用的过程。您可以使用这些测试来优化不同功能或同一功能的不同实现的功耗。

重要说明

  • ODPM 测量的是设备级别的功耗,而不是任何特定应用的功耗。您可以将 ODPM 的功耗信息与应用的前台或后台活动相关联。因此,根据读取 ODPM 数据时设备中活动应用的数量,您可以预期功耗数据中存在噪声。
  • Power Profiler 从 ODPM 读取功耗数据,而 ODPM 仅在运行 Android 10(API 级别 29)及更高版本的 Pixel 6 及后续 Pixel 设备上可用。
  • 某些电源轨可能仅在某些实现了 ODPM 的设备上可用。