2014-08-27 60 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

相關問題