电源分析器

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

系统轨迹 (System Trace) 会记录并显示功耗数据。它是 CPU 分析器的一部分。此数据有助于您直观地将设备的功耗与应用中发生的活动关联起来。电源分析器支持将这些数据可视化。

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

可分析的电源轨

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

表 1. 各个电源轨的可用性会因所使用的设备而异。
电源轨名称 描述
CPU Big(大核) 大 CPU 核心消耗的电量。
CPU Little(小核) 小 CPU 核心消耗的电量。
CPU Mid(中核) 中 CPU 核心消耗的电量。
摄像头 相机传感器消耗的电量。
蜂窝网络 蜂窝网络传感器消耗的电量。
显示 (Display) 显示屏消耗的电量。
GPS GPS 传感器消耗的电量。
GPU GPU 传感器消耗的电量。
Memory RAM 内存传感器消耗的电量。
Sensor core(传感器核心) 其他设备传感器消耗的电量。
UFS(磁盘) 磁盘传感器消耗的电量。
WLAN Wifi 传感器消耗的电量。

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

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

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

假设您正在构建一个需要通过网络下载素材的应用。您想了解在分别下载素材与批量下载素材时,WLAN 电源轨的功耗有何变化。

场景 A:应用通过 WLAN 发起单独的网络请求来下载素材。

图 2. 通过 WLAN 下载素材的单独网络请求。

场景 B:应用发起一个网络请求,通过 WLAN 下载一个非常大的素材。

图 3. 通过 WLAN 下载一个大素材的单独网络请求。

如上述场景所示,两条系统轨迹显示了基于触发下载方式的不同 WLAN 电源轨功耗特征。

尽管上述示例是一种测量不同场景下功耗的简单方法,但它演示了您可以如何为应用构建更复杂的 A/B 测试流程。您可以使用这些测试来优化不同功能或同一功能的不同实现方式的功耗。

重要注意事项

  • ODPM 在设备级别测量功耗,而不针对任何特定应用。您可以将 ODPM 的功耗信息与应用在前台或后台的活动关联起来。因此,由于读取 ODPM 数据时设备上运行的其他活跃应用数量不同,功耗数据中可能会存在噪音。
  • 电源分析器从 ODPM 读取功耗数据,该数据仅在运行 Android 10(API 级别 29)及更高版本的 Pixel 6 及后续 Pixel 设备上可用。
  • 某些电源轨可能仅在实现 ODPM 的部分设备上可用。