2013-10-10 62 views
1

我在論文中工作,我需要探索谷歌的Android API,以找到一種方式來獲取有關CPU和電池的所有可能的信息(如CPU溫度,使用率,電池電量,能耗等)。 )。是否有任何Android API獲取CPU和電池狀態?

這個想法是在2個或更多不同的執行時間內測量Android APP所消耗的能量,並獲得APP使用這些能量消耗的細節。

有沒有人知道從Android的任何API來衡量這種事情?

+1

祝你好運。後臺服務等允許多個應用程序一直運行,你必須弄清楚一個應用程序對當前消費的貢獻程度:)應用程序也可能導致在其他進程中加載​​,因此它不如檢查每個應用程序進程的CPU加載容易。 – zapl

+0

是的,我知道:) 這個想法是作出能源消費的平均測量。 例如,執行APP 10或20次並獲取我想要的值,然後從中獲取平均值。 – Marco10

回答

1

爲了獲得電池電量,您可以註冊ACTION_BATTERY_CHANGED的意圖。欲瞭解更多信息,請參閱Android Battery API。如果你只是想獲得電池溫度,你可以使用API​​本身。我認爲Android沒有CPU溫度的API。你可以從/ sys/class/thermal/thermal_zone0/temp中讀取溫度 這是在基於Linux的系統上獲取溫度的方法,因爲Android是基於Unix的,所以我認爲你應該可以做到這一點。我還沒有嘗試過,雖然

+0

非常感謝!我認爲這會非常有用。 我沒有想過使用Unix文件來獲取我需要的信息,但它可能是一個很好的解決方案。 你知道任何其他技巧來從Unix文件中獲取有關CPU的信息嗎? – Marco10

0

看一看Monitoring the Battery Level and Charging State指南。關於CPU,你應該能夠從Systrace收集一些數據。

+0

是的,我已經看到監控指南([鏈接](http://developer.android.com/training/monitoring-device-state/battery-monitoring.html)),並且我可以使用電池。 但是對於我也在考慮使用API​​的CPU,Systrace更多的是一個工具:/目標是轉換APP的整個源代碼並使其保存我想要的值,並且爲此工具更復雜使用... 但我感謝您的幫助:) – Marco10