2013-07-18 145 views
1

我一直在嘗試使用@szcoder在SOF上的How to get Memory usage and CPU usage in android?回答我的應用程序中的CPU使用情況。讀取多核CPU的CPU使用率

他的解決方案曾用於我的三星Galaxy S2(雙核CPU),但它不能在我的HTC One M7這是四核。

大部分讀數(來自@ szcoder方法的值* 100,即cpu使用百分比)都是負值,一些小於10%,而少數大於100%。

在對此回答的評論Dave建議我們應該使用多個讀數準確的值。

有人可以建議一個可能的解決方案來解決這個問題嗎?

編輯:

我還試圖用Fabian Knapp's解決方案,它使用top -n 1命令確定CPU使用率,但在我的測試分析/proc/stattop -n 1快得多(0.3xx秒comapred到的3.xx秒)所以如果有人提出這個建議,我不會因爲時間消耗而使用最高命令。

回答

0

如果頂部的命令給你正確的值,那麼我建議你看一下Android的source code for top,並拿出CPU所需的位,這比一秒鐘所需要的時間少。我可以說這是有效的,因爲我做過一次。

+0

感謝您的信息,但你可以分享Java代碼?因爲'top.c'是用c編寫的,我用'c語言'不是很好' –

+0

對不起,我寫了代碼爲man工作,所以我不能分享。但是請查看該鏈接中的read_stat()函數,該函數執行您所需的操作;它很短而且不難理解。 –

+0

@YusufX你能否更新鏈接? –