2013-03-08 86 views
3

我想分析我的應用程序的電池使用情況,我的意思是應用程序的各個部分,如 廣播接收器,聽衆,服務等等,電池的使用量。我需要一個詳細清單,並從清單中,我想優化電池使用情況。如何分析android應用程序的電池使用情況並對其進行優化?

方法將類似於使用內存分析器(http://android-developers.blogspot.hu/2011/03/memory-analysis-for-android.html) 有沒有什麼工具可以使用?我使用了PlayStore的一些電池跟蹤應用程序,但應用程序的全球電池使用量還不夠。

回答

0

你試過ATT ARO?這是一個非常漂亮的工具,可以爲您的應用程序提供更多的可視化診斷。

enter image description here

0

,這個問題很老了,但是,我想仍然是相關的。

電池消耗是一個非常大的問題,目前尚未解決,所以只有「努力」的工作和學習才能爲您提供幫助。沒有公共的API可以給你一個有用的電池外觀,也沒有「付費」的SDK給你分析電池,但是,你可以從ADB運行battery stats命令中學到很多東西。

運行從終端這個命令:adb shell dumpsys batterystats > results.txt

幾件事情在results.txt文件觀察:

  1. 結果從您從充電器拔掉你的電話的時候開始拍攝(如果達到100%)

  2. 如果您完全(或幾乎)充電,電池統計信息將被刪除,所以如果您遇到問題,並且無法處理統計信息,請不要完全充電你的設備,直到您可以從計算機運行此命令。

  3. 我們發現使用wakelock是一個巨大的電池消耗。您可以檢查結果應用程序有多少時間有喚醒鎖。 因此,例如,如果我看到這一行: Wake lock *sync*/com.android.contacts/com.whatsapp/WhatsApp: 128ms partial (4 times) realtime我可以從中瞭解到WhatsApp運行的喚醒鎖定時間爲128毫秒,但是,如果運行時間是幾小時,這將會很糟糕,並且會導致我的電池。
  4. Wifi鎖定 - 您也可以檢查wifi是否讓您的設備繼續運行,並且如果您看到這些線路時間很長,則應該會出現可疑情況。

    Wifi Running: 3h 23m (87.0%) Full Wifi Lock: 2h 3m (91.0%) Wifi Scan: 1h 54m (79.0%) 44x

  5. 檢查你的CPU時間:例如:

    Proc com.android.phone: CPU: 3h 34m 12s 910ms usr + 7s 250ms krn ; 0ms fg

    這意味着,手機應用程序工作了3個多小時,這是很多(除非用戶是全部都在說)

  6. 看看你的藍牙

    1002: Wake lock bluedroid_timer: 3m 29s 892ms partial (158 times) realtime Foreground for: 8h 1m 2s 834ms Active for: 8h 1m 3s 546ms Total cpu time: u=48m 38s 350ms s=29s 752ms p=204mAh Proc com.android.bluetooth: CPU: 23m 25s 230ms usr + 22s 520ms krn ; 0ms fg 211 starts Proc *wakelock*: CPU: 0ms usr + 2ms krn ; 0ms fg Apk com.android.bluetooth: Service com.android.bluetooth.gatt.GattService: Created for: 1h 13m 52s 667ms upt

    8小時是藍牙的很多。

  7. 您的服務運行了多長時間?

    Service com.google.location.nearby.direct.service.NearbyDirectService: Created for: 17m 50s 232ms uptime Starts: 212, launches: 212

  8. 在這個文件的末尾,你有你的設備上運行的所有應用程序的摘要。它相當不錯,並讓你瞭解每個apk消耗多少時間/ cpu/wifi /網絡/服務。 例如,

    u0a1091: Mobile network: 14.96KB received, 17.10KB sent (packets 120 received, 183 sent) Mobile radio active: 4m 30s 136ms (10.5%) 18x @ 892 mspp Active for: 8h 1m 3s 546ms Total cpu time: u=520ms s=210ms p=0.0653mAh Proc org.telegram.messenger: CPU: 670ms usr + 260ms krn ; 0ms fg

有很多更多的選擇在這個文件中穿過去,它需要一段時間才能找出更多,這是我從我的教訓研究。

相關問題