2014-10-22 45 views
0

我用adb外殼得到我的android應用程序使用的CPU。理想的CPU百分比爲Android應用程序

我記錄了這些值,但我在某些情況下看到cpu使用率 - 對於我的應用程序 - 25%。

我的問題是:這個值-25%從cpu-非常高或什麼?和什麼理想的CPU的android應用程序%?

在此先感謝

+0

這取決於有多少服務或其他東西並行運行。您必須測量每個設備個人的空閒CPU使用情況。 – 2014-10-22 08:16:03

+0

這個問題太模糊了,沒有更多的信息就不能回答,比如應用程序在做什麼。例如,密碼管理器不應該消耗25%的CPU,而是60 fps的遊戲。 – 2014-10-22 08:30:42

回答

2

首先要記住的事情是,當一個應用程序運行時,它實際上並沒有爲它的運行的整個時間做計算:大部分的空閒時間,等待數據到達了網絡,或者你正在屏幕上看着它。只有編寫非常糟糕的應用程序和遊戲纔會使CPU始終保持運行狀態:這會使電池快速運行,並使手機變得溫暖。

因此,即使Chrome已經在屏幕上顯示了30分鐘,也不應該使用30分鐘的CPU時間。如果在那個時候它完全是靜態的,而你沒有與它進行交互,它可能根本沒有使用任何CPU時間!但另一個極端的情況是,即使它不斷地滾動頁面,它也不會使用30分鐘的CPU時間:屏幕每1/60秒更新一次,每次只需運行足夠長的時間即可工作看看下一幀應該是什麼。

CPU前景

牢記這一點,CPU前景是多少時間的應用程序已經在CPU上運行時從應用程序的活動是在前臺。 (當應用程序的服務處於前臺時(也就是顯示「正在進行」的通知),它可能也包括在內)。它本身並不是一個非常有用的數字。

CPU總

我相信你已經知道,應用程序可以在前臺活動在後臺運行的服務和廣播接收機,以及。 (關於這方面的更多信息,請參閱服務和廣播接收機之間的區別是什麼?)CPU總量包括所有此CPU使用量。如果它遠遠超過CPU前景,您可能會懷疑該應用程序在後臺執行了大量工作,因此可能會成爲電池電量。 「很多」取決於應用程序。持續運行以檢查某些遠程服務的應用程序將在後臺使用比獨立遊戲更多的CPU。

保持清醒

當你的手機屏幕關閉時,它開始考慮有小睡片刻。它進入一種稱爲睡眠的低功耗模式,其中CPU幾乎完全斷電,直到需要爲止。由於這可以中斷應用程序的後臺活動,因此應用程序可以使用喚醒鎖來停止設備進入休眠狀態,直至完成。 (還有另一種喚醒鎖,它會自動關閉屏幕,視頻播放器可能會使用這種喚醒鎖。)應用程序還可以使用鬧鐘來喚醒設備以執行一些後臺任務。

保持喚醒措施測量此應用程序使用喚醒鎖或警報的時間長度,以保持設備在睡眠時保持清醒狀態。在某種程度上,這可能是電池最大的消耗。睡覺使用比保持清醒更少的功率,所以如果應用程序長時間保持喚醒鎖定,那麼即使應用程序沒有做任何有用的工作,它也會始終保持設備處於高功耗模式。

如果你的CPU使用率延長一段時間,然後它釋放使用它的一些延伸相當好。如果沒有,您可以從上面的描述中確定哪個是您高CPU佔用率的情況。

+0

你的回答是有意義的謝謝你 – 2014-10-22 08:39:17