[Android] 效能獲取方式-轉自淘測試

大搜車-自娛發表於2013-08-13
原文地址:http://www.taobaotesting.com/blogs/2189 :idea:
不需要再安裝任何效能監測工具,直接如下訪問,幫助完成效能資料的獲取和檢視。

Android apk 需要關注的點:apk大小、apk啟動時間、流量、電量、CPU執行時長、記憶體、actvity切換時間等。


android效能資料採集:
流量資料:
/proc/self/net/dev 中的:eth0 和 rmnet0 對應資料和

result-eg:
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 2304 32 0 0 0 0 0 0 230432 0 0 0 0 0 0
eth0: 122801 1712 0 0 0 0 0 0 232055 1399 0 0 0 0 0 0
sit0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


apk資訊:
命令: aapt d badging 可獲取:packagename、versioncode、launchActivity ---- 供後面啟動時間等傳參使用

result-eg:
package: name='com.taobao.taobao' versionCode='56' versionName='3.3.1'
launchable-activity: name='com.taobao.tao.Welcome'

# 電量資訊及CPU 使用時長
命令: adb shell dumpsys batteryinfo packagename
結果包含如下資料:network ---received and send 大小;wake lock window:螢幕喚醒時長;sensor:感測器時長;cpu執行時長(包含各子程式的時長,後臺service等)

result-eg:

#10109:
Network: 10.81MB received, 118.94KB sent
Wake lock window: 7s 232ms window (2 times) realtime
Sensor 0: 1m 31s 22ms realtime (27 times)
Proc com.taobao.taobao:
CPU: 1m 46s 270ms usr + 27s 410ms krn
10 proc starts
Proc com.taobao.taobao:taobao_remote:
CPU: 4s 220ms usr + 640ms krn
2 proc starts
Proc com.taobao.taobao:remote:
CPU: 530ms usr + 430ms krn
2 proc starts
Apk com.taobao.taobao:
Service com.taobao.tao.WWMessageService:
Created for: 45m 40s 653ms uptime
Starts: 2, launches: 2

#客戶端啟動時間獲取:
命令: adb logcat -c && adb logcat -s ActivityManager | grep "Displayed” 可獲取到actvity的切換時間 ,其中可以獲取到launch Activity對應的時間-----即apk啟動時間。

result-eg:

Line 1387: I/ActivityManager( 59): Displayed activity com.taobao.taobao/com.taobao.tao.Welcome: 2438 ms (total 2438 ms)


# 記憶體情況獲取:
命令 adb shell dumpsys meminfo packagename
獲取 alloc 和 size的值

result-eg:

** MEMINFO in pid 2427 [com.taobao.taobao] **

native dalvik other total

size: 14416 8583 N/A 22999

allocated: 10800 6383 N/A 17183

free: 647 2200 N/A 2847

(Pss): 3193 7545 13536 24274

(shared dirty): 1180 4040 2772 7992

(priv dirty): 3168 5660 7756 16584

===========================================================================
對任何apk,都可以通過以上命令獲取到對應的效能資料。

相關文章