【问题标题】:Android How to measure app power consumption when pluggedAndroid 如何在插入时测量应用程序的功耗
【发布时间】:2016-08-17 15:47:02
【问题描述】:

当我将我的设备与我的电脑连接时,如何测量应用程序的功耗?

我从 Android Studio 中了解到 batterystats。我已经按照说明获得了电池状态转储系统。但是,我不能不让我的设备始终插入 USB 端口,因为 dumpsys 的结果将缺少一个名为“估计功耗”的部分。这是整个测试中最重要的部分,因为它包含了应用程序的功耗。

我尝试使用StopCharge 应用程序中断手机充电。但前提是设备需要ROOT。

Power Tutor 等其他选项已过时。应用程序输出的信息不太符合我的要求(Android 6.0 或更高版本)。

是否可以在充电时或我的思绪发疯时获得应用程序的功耗测量?

提前感谢您!

p.s以下是Android Studio Batterystats的方法示例

Estimated power use (mAh)
Capacity: 2930, Computed drain: 43.9, actual drain: 58.6-87.9
Screen: 35.6
Unaccounted: 14.7 ( )
Uid u0a2618: 2.91 ( cpu=2.17 wake=0.657 wifi=0.00656 sensor=0.0732 )

【问题讨论】:

    标签: android performance android-studio


    【解决方案1】:

    我认为,当您插上电源时,电池统计数据不是很准确。 我通常有两种方法:

    1. 通过 wi-fi 连接 adb 并运行 batterystats

      • 在 Android Studio 中,转到首选项->插件并搜索 Wi-fi,这样您就可以通过 USB 连接设备,转到插件,然后他进行 wifi 连接

    或者如果你不想要一个新插件

    • 如果您已经拥有 USB 访问权限,请运行 adb tcpip 5555 和 adb connect 192.168.0.101:5555 (More info.)

    -

    1. 使用 Google Battery Historian:

      • 在此link 中,按照指南下载项目
      • 在您的 adb 中,运行 adb shell dumpsys batterystats --reset 以清除所有历史记录
      • 使用您的应用一段时间
      • 返回 ADB 并生成日志:adb bugreport > bugreport.txt
      • 然后按照说明将文件上传到您将托管的 Battery Historian 站点,就大功告成了。

    Battery Historian 图片:

    【讨论】:

    • 首先,感谢卢卡斯回答我的问题。我的单元测试是基于plugged。我尝试过使用adb over tcp,但是由于插入时测试的限制,我已经放弃了。并且具有自动进行测试的限制。我没有机会使用 Android 电池统计数据。不过,感谢您的回答!
    • 我遵循了你的方法。我生成了 bugreport.txt 并尝试将文件上传到 Battery Historian 网站以获取您发布的图表,但是当我上传时,我收到一条消息,因为“bugreport.txt 不包含有效的错误报告文件”。你能帮我生成一个和你一样的图表吗
    • @John 如果您的设备运行 Android 7 或更高版本,您需要执行 adb bugreport bugreport.zip 并使用 zip 文件。命令 adb bugreport > bugreport.txt 适用于 Android 6 及更低版本...
    猜你喜欢
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多