2014-01-16 51 views
2

我試圖寫一個Android應用程序(JAVA),做事情喜歡通過應用程序確定由應用的電池使用,通過應用程序的CPU使用率,內存使用率,像電池,然後整個事情確定資源分配電平,CPU電壓,電池溫度,CPU溫度等。基本上可以用於分析的一堆統計數據。在閱讀了如何完成這件事之後,在我看來,最好的辦法是使用/ proc。具體來說,/ proc/apm用於電池事物,/ proc/cpuinfo用於CPU速度,/ proc/meminfo用於存儲器字段,以及/ proc/stat用於cpu使用。要獲得應用程序特定的數據,你會跟隨/ proc與PID,也許在一個循環?例如,以僞代碼,它會是這樣:如何通過應用程序在Android

Get PIDs of all running processes 
Run a loop that reads info from /proc/<PID>/apm and saves pertinent data to an array, 
     then iterates the PID 
Run loops like the one above for cpuinfo, meminfo, and stat 

我現在讀電池電量蠻好的,CPU使用率我花了一段時間,但我想我有這一點。它的應用程序特定的東西,讓我陷入困境。我需要根訪問我提到的任何統計信息嗎?

非常感謝!

回答

0

使用procrank怎麼樣?我知道它不是/ proc /「PID」/ stat,但是它不會給你做這項工作所需的一切嗎?在第一列中,給出PID,然後第4/5列分別是PSS/USS。從我this link PSS和USS的理解可以用於通過執行計算內存使用以下:

PSS/[Σ(PSS)] - >這是內存使用情況%

USS/[Σ(PSS) ] - >這是存儲器%,可以通過殺死過程

被釋放
相關問題