功耗分析器

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

系统跟踪记录并显示功耗数据。它是 CPU 分析器的一部分。此数据可帮助您直观地将设备的功耗与应用中发生的事件相关联。电源分析器可以可视化此数据。

图 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)。

通过电源分析器分析功耗的示例场景

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

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

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

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

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

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

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

重要说明

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