2014-03-03 91 views
0

我已經分叉了系統消息傳遞應用程序,它佔用了我大部分的CPU,而其他人也報告了相同的情況。我不能爲我的生活確定原因。Android應用程序CPU使用率高,沒有服務或喚醒鎖

我認爲排水可能是兩件事情(因爲排水量多少):尚未釋放的喚醒鎖或執行連續計算的服務。

這是我曾嘗試:

adb shell dumpsys power

這說明Wake Locks: size=0所以我假設它不是一個激活鎖定的問題(應用程序使用wakelocks,當然,但我沒碰過,涉及它們的代碼)。我還使用了應用程序WakeLock Detector,該應用程序也沒有顯示喚醒鎖。

我已經不知疲倦地搜索了日誌,發現某些問題無濟於事。我也檢查了正在運行的服務(通過設置>應用程序>正在運行),並且沒有爲應用程序運行服務。

有誰知道什麼可能導致這種(巨大的)電池消耗?

編輯:我下載了一個名爲「禁用服務」的應用程序,允許我查看應用程序可用的所有服務。我的問題的主要問題是不可能複製(也就是說,我不知道如何複製它,它似乎隨機發生)。我設法今天遇到了電池耗盡,並嘗試禁用服務(感興趣的TransactionService),問題立即停止。我不認爲我可以肯定地說這項服務導致了這個問題,但它是第一個看的地方。該代碼可用here

+0

你可以發表一些代碼或類似的東西嗎?你使用GPS,互聯網(wifi或22g,3g,4g),還是你有很多線程? – Tomas

+0

我不希望喚醒鎖與CPU使用率有很大關係,除了讓CPU運行*讓*讓別人使用它。你有沒有嘗試在ddms監視器工具嗎?在adb外殼中還有'top -t -m 10'來玩。 –

+0

沒有真正的任何代碼發佈,因爲它可能在任何地方。正如我所提到的,它是系統消息應用程序的一個分支(實際上是CM消息傳遞應用程序)。我只更改了與發送/接收消息或喚醒鎖無關的UI。 @ChrisStratton謝謝,我會給你一看 – user394416

回答

0

不知道曾經造成過這個問題。開始用不同的叉子建立不同的AOSP分支並且沒有再次看到它。