Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android應用電量消耗評估的三板斧

Android應用電量消耗評估的三板斧

編輯:關於Android編程


這裡只是使用最簡單的方法對你的app的電量消耗進行評估,如果還想更加詳細或者復雜的方法,可以使用一些比較專用的工具,比如Emmagee(https://github.com/NetEase/Emmagee),這個就很好用。


第一招:看系統的 設置-電池 裡面的耗電排名。


除非你的APP耗電很出格,一用手機就發燙、電量直線往下掉,否則,對於大多數用戶,你到底耗電怎麼樣,主要就是看這個了。


先測測你的靜默耗電:

不要插usb和電源,在不充電的情況下,保持你的app前台或者後台靜默一晚上,也可以根據不同業務場景,多測幾次,然後在 設置-電池 中,看看你的耗電排名,以及進一步點擊看看具體開銷。


再測測你的操作耗電:

步驟一樣,只不過,你可以拿競爭對手或者業內標桿來進行下對比,各正常操作10分鐘,然後再看耗電的排名和具體開銷,相信自己的app耗電在什麼水平上,應該心裡有數了。



第二招:通過adb工具查看各部件的耗電。


手機中的每個部件(CPU、LED、sensor、GPS、3G、wifi 、wakelock等等)運行時對應的能耗值都放power_profile.xml 文件中, 而且系統的設置-->電池-->使用情況中,統計的能耗使用情況也是以power_profile.xml的value 作為基礎參數的。通過命令監控app各部件的使用時長,然後結合設備耗電的基礎參數進行加權計算,即可得到 app 使用的耗電量。操作步驟如下:


1) 拔掉 usb 連接;

2) 操作 app(比如保持前台、後台靜默一段時間);

3) 插上 usb,執行 adb shell dumpsys batteryinfo,找到你的應用對應UID資源使用,如下所示Wake lock GCM_LIB: 24m 41s 316ms長時間使用,導致耗電:

#10062:

Network: 160.39KB received, 150.69KB sent

Wake lock window: 4s 729ms window (2 times) realtime

Wake lock GCM_LIB: 24m 41s 316ms partial (1 times) realtime

Wake lock AlarmManager: 32ms partial (23 times) realtime

TOTAL wake: 24m 41s 348ms partial, 4s 729ms window realtime

Sensor GPS: (not used)

Proc *wakelock*:

CPU: 9s 230ms usr + 9s 470ms krn

Proc com.xxxx.xxxx:

CPU: 1s 120ms usr + 770ms krn

Proc com.xxxx.xxxx::

CPU: 33s 140ms usr + 7s 320ms krn

Apk com.xxxx.xxxx::

Service com.xxxx.xxxx::

Created for: 47m 23s 532ms uptime

Starts: 1, launches: 1

Service com.xxxx.xxxx::

Created for: 15s 910ms uptime

Starts: 19, launches: 19

……

4) 監控app wake lock 類型、次數以及時間,傳感器的使用時間,網絡流量的開銷,各子個進程的 CPU 使用時間;


第三招:觀察cpu開銷


保持前後台靜默的時候,通過命令 adb shell top -d 1 |grep yourapp,可以觀察你的應用相關進程的cpu開銷。

前台靜默時在滾屏、倒計時等不可視的時候,我們期望cpu占用0%。

尤其是後台靜默,一旦超過0%,必然持續耗電,都必須解決。



簡簡單單3招,足以讓你對你的APP的耗電量有個大概的評估,而且,對存在的問題有個大概的定位。


對於無線設備發展到今天的地步,性能越來越不再是問題了,但是,電量卻依然是目前最大的一個瓶頸,你的APP想因為耗電而被用戶“請出”設備嗎?不妨動起來,試試這簡單的三板斧。


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved