Android手機app電量測試
Android 5.0及以上的設備, 允許我們通過adb命令dump出電量使用統計信息
第一步:手機安裝要測試的應用,打開手機開發者模式-USB模式,運行cmd.exe:
adb kill-server adb devices //查看手機連接是否正常
第二步:因為電量統計數據是持續的, 會非常大, 統計我們的待測試App之前先reset下, 連上設備, 命令行執行。
adb shell dumpsys batterystats --reset
此時,手機里電量統計被清除,建議確定手機連接成功,多清理幾次。而后再斷開USB數據線,操作要測試的app相應的測試流程。
第三步:重新連接手機
adb devices //再次確認是否連接成功
//此命令持續記錄輸出,要想停止記錄時按Ctrl+C退出 adb shell dumpsys batterystats > E:\batterystats1.txt
導出的統計數據存儲到batterystats1.txt,我們可以在此文件中間看到電池的消耗情況:
Estimated power use (mAh):
Capacity: 3100, Computed drain: 206, actual drain: 186-217
Screen: 66.4
Uid u0a723: 55.7 ( cpu=47.3 wifi=8.29 gps=0.00237 sensor=0.0443 )
Uid 1000: 21.9 ( cpu=21.8 wifi=0.104 )
Idle: 20.2
Uid u0a34: 14.0 ( cpu=0.145 gps=13.9 )
Cell standby: 8.34 ( radio=8.34 )
Uid 0: 5.05 ( cpu=5.05 )
Uid 1021: 4.12 ( cpu=1.56 sensor=2.56 )
Uid u0a463: 3.27 ( cpu=2.80 wifi=0.281 gps=0.195 )
Wifi: 1.98 ( cpu=0.383 wifi=1.60 )
Bluetooth: 1.59 ( cpu=1.59 )
Uid u0a44: 0.982 ( cpu=0.982 )
Uid u0a462: 0.930 ( cpu=0.814 sensor=0.116 )
Uid u0a66: 0.486 ( cpu=0.486 )
Uid 1036: 0.455 ( cpu=0.455 )
Uid u0a518: 0.228 ( cpu=0.228 )
Uid 1001: 0.184 ( cpu=0.184 )
Uid 1041: 0.116 ( cpu=0.116 )
Uid u0a65: 0.116 ( cpu=0.116 )
Uid u0a90: 0.0506 ( cpu=0.0506 )
Uid u0a67: 0.0486 ( cpu=0.0486 )
Uid u0a5: 0.0397 ( cpu=0.0397 )
Uid u0a61: 0.0329 ( cpu=0.0329 )
Uid u0a41: 0.0275 ( cpu=0.0275 )
Uid 1013: 0.0195 ( cpu=0.0195 )
Uid u0a55: 0.0144 ( cpu=0.0144 )
Uid u0a63: 0.00667 ( cpu=0.00667 )
Uid u0a64: 0.00549 ( cpu=0.00549 )
Uid 1027: 0.00510 ( cpu=0.00510 )
Uid u0a103: 0.00454 ( cpu=0.00454 )
Uid u0a25: 0.00333 ( cpu=0.00333 )
Uid u0a15: 0.00300 ( cpu=0.00300 )
Uid u0a20: 0.00276 ( cpu=0.00276 )
Uid 1019: 0.00163 ( cpu=0.00163 )
Uid 1017: 0.000933 ( cpu=0.000933 )
Uid u0a10: 0.000732 ( cpu=0.000732 )
Uid u0a17: 0.000711 ( cpu=0.000711 )
Uid u0a58: 0.000666 ( cpu=0.000666 )
Uid u0a14: 0.000535 ( cpu=0.000535 )
Uid u0a53: 0.000535 ( cpu=0.000535 )
Uid u0a2: 0.000533 ( cpu=0.000533 )
Uid u0a75: 0.000278 ( cpu=0.000278 )
Uid u0a82: 0.000212 ( cpu=0.000212 )
Uid u0a78: 0.000180 ( cpu=0.000180 )
Computed drain 顯示的是總電量,Screen 顯示的是屏幕使用電量,在日志的后面可以看出 Uid u0a723 是操作的應用,Idle 顯示的是重定時器使用電量;
一般是 功耗的計算=CPU消耗+Wake lock消耗+數據傳輸消耗+GPS消耗+ Wi-Fi連接消耗
這次我測試的是 Screen + Uid u0a723 + Idle + Wifi + Bluetooth 的電量。
注:這是我此次工作中的學習總結,后面持續需改完善。
