EmuLabZip logo EmuLabZip

能耗

最后更新 · 在 GitHub 上编辑此页

测量应用在你使用它期间的一段时间内消耗了多少能量。

emulabzip energy com.example.app --seconds 30
emulabzip energy com.example.app --json

启动后使用应用,时间到了,或你按下 Ctrl+C 时,它会读取结果。

Android#

设备在电池服务看来被拔掉了电源(dumpsys battery unplug),并且统计数据被重置(dumpsys batterystats --reset),这样它们就是在设备上计数的。结束时,会针对应用的 uid 读取 dumpsys batterystats --charged <package>,并且始终会还原电池(dumpsys battery reset),出错或按 Ctrl+C 之后也是如此。

报告包含:

  • 系统的估算用量(单位 mAh),以及它的组成部分(CPU、无线电、屏幕、传感器…);
  • 应用使用的处理器时间;
  • 唤醒锁(每个持有了多久、多少次)、闹钟和作业;
  • 接收和发送的网络字节数。

模拟器没有电池。Android 根据功耗模型计算这些数字,因此请拿一次运行与另一次运行比较,而不要与真机比较。在这段时间内用量太少、或没有运行的应用不会得到估算值,报告会说明这一点。

iOS 模拟器#

模拟器没有功耗模型,因此没有 mAh 数值。报告给出应用使用的 CPU 时间(真机上最先消耗电量的部分)和 Mac 的热状态(pmset -g therm):当 Mac 降低处理器速度时,两次运行就不可比较。

在哪里找到它#

  • 桌面端:Performance → Energy(Start,然后 Stop 并读取)。
  • CLI:emulabzip energy。
  • MCP:measure_energy(最长 120 秒)。