2014-08-27 24 views
-1

我想找到一种方式,可以通知用户在Android的电池消耗率。 我想要得到的结果:有没有什么方法可以看到Android的当前功耗率?

a)显示每个正在运行的应用程序的功耗率的应用程序。 b)应用程序中每个进程的功耗。

最初的搜索说,它可能会使用ndk约束没有达到准确性。

我对示例代码更感兴趣,实现目标的工作流程。

欢迎任何有效的输入/建议。

+0

这个问题发布3年前。仍然没有答案?正如接受的答案中所建议的?我已经看过那些帖子,经过这些帖子后,我再次发帖,因为没有有效的答案。有人说不可能(3年前)。 – Jeet 2014-08-27 11:24:45

+0

它仍然是重复的,因为其中一个答案对你的问题有正确和有效的答案。我们不允许剽窃他人的答案,所以这是重复的。 – cybermonkey 2014-08-27 11:30:13

回答

0

/frameworks/base/core/res/res/xml/power_profile.xml(可以通过抓住与实际设备的框架罐子获得)存在与它们的特定的特征的值的列表。

使用此文件,您可以获取不同CPU速度或不同模块(蓝牙,wifi等)的功耗值以及电池容量。这就是系统如何衡量每个流程的消耗。但请注意,还有更多的方法,包括历史数据和其他变量。

要执行你需要进行系统跟踪(systrace工具),解析输出,从power_profile每个系统进程赋值,然后逼近消耗的精确测量......但是:

1 )任务不重要

2)有很多系统特有的功能,你甚至不能开始测量。你将不得不依靠CPU速度,例如。如果应用程序A处于活动状态,则读取CPU速度,并计算该时段的总消耗量。

3)仍然是一个近似

4)每个设备(严格有效,即使具有相同名称的装置可具有不同的消费由于施加在其市场寿命时间次要成分差异)

5)无法在设备上完成,除非您可以压缩上述过程。

6)您必须依赖设备制造商 - 它不是100%确定power_profile值是正确的。

UPDATE 显然有人做了[syspower库],从第一次看,应该提供一些关于电池消耗的信息。不幸的是,它看起来不像是生产准备好的。 1

+0

我可以看到,描述是正确的。所以这完全取决于OEM。问题仍然是找到应用程序的电池使用情况。该文件包含音频,视频,广播,gps,屏幕的详细信息,而不是应用程序。感谢您的意见。 – Jeet 2014-08-27 11:53:01

+0

https://source.android.com/devices/tech/power.html – Jeet 2014-08-27 12:00:53

相关问题