【发布时间】:2012-09-16 21:00:06
【问题描述】:
如何查看Android中各个应用的耗电量?
与不同的应用程序相比,至少功耗应该是相对的,这些应用程序可能正在使用任何服务,如 WIFI、GPS、LCD、wakelock 等。
android 中是否有任何 API 可以测量使用上述资源的应用程序的功耗?
【问题讨论】:
标签: android
如何查看Android中各个应用的耗电量?
与不同的应用程序相比,至少功耗应该是相对的,这些应用程序可能正在使用任何服务,如 WIFI、GPS、LCD、wakelock 等。
android 中是否有任何 API 可以测量使用上述资源的应用程序的功耗?
【问题讨论】:
标签: android
有一个research paper 称为“智能手机的准确在线功率估计和基于电池行为的自动电源模型生成”。对于本文,研究人员开发了一个名为 PowerTutor 的工具,您可以找到其来源here。应该提到的是,您的设备必须 root 才能使用此应用程序。
【讨论】:
首先,Google Play 的 powertutor 已过时。我查看了它的源代码,发现功率估计模型是针对一些旧的移动模型的。电源导师的数值远小于实际耗电量。
因此,我建议您使用 google 开发的Battery Historian,用于估算每个 App 的电池消耗。但它是用 Python/Go 编写的。它将在 html 文件中说明硬件调用。您可以在相应的文本文件中找到每个应用程序的电池消耗情况。
【讨论】:
查看Powertutor。根据我的经验,这是衡量应用程序功耗的最佳应用程序。它不是 100% 准确,但足以进行估计。
【讨论】:
您无法以编程方式检查每个应用程序的电池消耗情况。 相反,您可以像这样检查整体消耗:
energyLeftInmAh = 设备电池容量(mAh)* 电池电量(%)* 0.01;
例如 连接 5, 电池容量:2300毫安
mBatteryManager = (BatteryManager)MainActivity.this.getSystemService(Context.BATTERY_SERVICE);
int level = mBatteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
double mAh = (2300 * level * 0.01);
【讨论】:
(免责声明:我与人共同创立了制造以下产品的公司)
试试 Little Eye Labs 的 Little Eye,它就是这样做的。可以跟踪单个应用程序的功率并通过 CPU/显示器和 Wifi 获得故障(即将推出的版本将支持 GPS 和 3G)。它还超越了电源并跟踪单个应用程序的数据、内存和 CPU 消耗。请注意它是一个桌面工具,您需要从here 下载和安装。
希望这会有所帮助。
【讨论】:
查看从 ICS 开始消耗多少电池的一个简单指南是检查设置->电池。这里显示了应用程序消耗的百分比。其他方法可能是通过密集使用应用程序来物理监控电池电量下降,例如在您开始使用该应用程序之前,电池电量可能为 80%。然后您尝试 30 分钟,然后再次检查电池电量百分比。
【讨论】: