adb shell dumpsys batterystats --reset
重啟設備命令:
adb reboot
獲得詳細的喚醒鎖數據
adb shell dumpsys batterystats –enable full-wake-history 注意:由於記錄所有喚醒鎖數據會導致日志數量超過上限(50M),因此最好在分析具體應用時使用上述操作,並在完成后執行 adb shell dumpsys batterystats –disable full-wake-history,否則,導出的bugreport由於太大而無法解析。
工具使用方法:
1.運行工具
cd c:/user/battery-historian(battery-historian放置的路徑)
go run setup.go
go run cmd/battery-historian/battery-historian.go
2.導出bugreport
adb bugreport>bugreport.txt(可新建文本文檔,拖動到該位置)
3.導入bugreport.txt
在google chrome中輸入:http://localhost:9999,然后導入bugreport.txt
4.開始分析
各個參數的意義:
CPU runing: cpu運行的狀態
Kernel only uptime: 只有kernell運行?
Userspace wakelock: 用戶空間申請的鎖
Screen: 屏幕是否點亮
Top app: 當前在內存中的應用,按內存占用率排序
Activity Manager Proc: 活躍的用戶進程
Crashes(logcat): 某個時間點出現crash的應用
Doze: 是否進入doze模式 Device
active: 和Doze相反
JobScheduler: 異步作業調度
SyncManager: 同步操作
Temp White List: 電量優化白名單
Phone call: 是否打電話
GPS: 是否使用GPS
Network connectivity: 網絡連接狀態(wifi、mobile是否連接)
Mobile signal strength: 移動信號強度(great\good\moderate\poor)
Wifi scan: 是否在掃描wifi信號
Wifi supplicant: 是否有wifi請求
Wifi radio: 是否正在通過wifi傳輸數據
Wifi signal strength: wifi信號強度
Wifi running: wifi組件是否在工作(未傳輸數據)
Wifi on: 同上
Audio: 音頻子系統?
Camera: 相機是否在工作
Video:是否在播放視頻
Foreground process: 前台進程
Package install: 是否在進行包安裝
Package active: 包管理在工作
Battery level: 電池當前電量
Temperature: 電池溫度
Plugged: 連接usb或者充電
Charging on: 在充電
Logcat misc: 是否在導出日志