編輯:關於Android編程

$ adb shell dumpsys battery unplug $ adb shell dumpsys deviceidle step第二條指令需要執行多次
$ adb shell dumpsys battery unplug $ adb shell am set-inactive退出此模式:true
$ adb shell am set-inactivefalse $ adb shell am get-inactive
u0a90:
Mobile network: 908.38KB received, 144.94KB sent (packets 1063 received, 1219 sent)
Mobile radio active: 5m 27s 337ms (31.9%) 15x @ 143 mspp
Wi-Fi network: 3.52MB received, 454.37KB sent (packets 3628 received, 3645 sent)
Wake lock WakerLock:180110109: 12s 444ms partial (52 times) realtime
Wake lock *alarm*: 3s 362ms partial (24 times) realtime
...
TOTAL wake: 59s 188ms partial realtime
Foreground activities: 18m 37s 145ms realtime (32 times)
Foreground for: 1h 49m 14s 993ms
Total cpu time: u=3m 57s 240ms s=1m 4s 170ms p=0mAh
Proc com.tencent.mm:tools:
CPU: 1m 57s 260ms usr + 31s 570ms krn ; 0ms fg
3 starts
Proc com.tencent.mm:exdevice:
CPU: 1s 290ms usr + 2s 590ms krn ; 0ms fg
Proc com.tencent.mm:
CPU: 1m 46s 610ms usr + 22s 920ms krn ; 4m 21s 940ms fg
Proc com.tencent.mm:push:
CPU: 7s 250ms usr + 5s 50ms krn ; 0ms fg
Proc com.tencent.mm:sandbox:
CPU: 0ms usr + 0ms krn ; 0ms fg
1 starts
Apk com.tencent.mm:
Wakeup alarm *walarm*:ALARM_ACTION(7277): 22 times
Wakeup alarm *walarm*:com.tencent.mm/.booter.MMReceivers$AlarmReceiver: 7 times
Service com.tencent.mm.sandbox.updater.UpdaterService:
Created for: 11s 53ms uptime
Starts: 1, launches: 1
...
Service com.tencent.mm.plugin.webview.stub.WebViewStubService:
Created for: 0ms uptime
Starts: 0, launches: 9
從上能夠分析出微信在這段測試時間詳細的網絡消耗,包括移動網絡和WiFi網絡,CPU的使用,Alarm,以及Service的啟動和運行時長等信息,基於此,再逐項排查和減少電量消耗。對於alarm的觸發,網絡的請求問題的定位從代碼上能比較方便的搜索到,但是CPU的消耗,則需要通過Android提供的Profiling工具來實現,它會幫你定位出CPU的時間都消耗在哪個函數上。網絡上有很多的使用教程。
簡單附上統計的說明:
應用UID:u0a90
移動網絡數據統計和時長統計
WiFi網絡數據統計
Wake lock統計,包括通過alarm觸發次數
應用前台頁面信息
CPU使用統計,包括各個進程的使用信息
Servce信息
Android adb shell df 命令顯示的系統分區Size不准確 ?
微信透明頭像怎麼制作 微信頭像尺寸是多少
微信聊天時,突然發現自己的很多好友頭像都是透明的,感覺好高大上的樣子,微信透明頭像怎麼制作?下面小編就來告訴大家,感興趣的童鞋一起來看看吧!【微信透明頭像制
Android仿網易客戶端頂部導航欄效果
最近剛寫了一個網易客戶端首頁導航條的動畫效果,現在分享出來給大家學習學習。我說一下這個效果的核心原理。下面是效果圖: &nb
Android設計模式之一個例子讓你徹底明白裝飾者模式(Decorator Pattern)
導讀這篇文章中我不會使用概念性文字來說明裝飾者模式,因為通常概念性的問題都很抽象,很難懂,使得讀者很難明白到底為什麼要使用這種設計模式,我們設計模式的誕生,肯定是前輩們在