查看應用的屏幕繪製速度, 能夠看到卡頓–其實就是丟幀的現象
當系統系能變差,或在應用設計缺陷導致繪製時間過長, FPS就會變差,幀率就會變差
系統要求每幀時間要小於16ms, 如果大於16毫秒的話, 系統就會有差的用戶體驗
根據android 自帶的adb命令adb shell dumpsys gfxinfo <package>來獲取
必須首先打開gfxinfo抓取
- Settings – About Phone – Build number 按7次打開Developer options
- Developer options – Monitoring-- Profile GPU rendering – in adb shell dumpsys gfxinfo
注: 如果發生繪製渲染時間過長的情況, 需要抓取log, 比如traceview的log,
開始:adb shell am profile <package> start /sdcard/xxxx.trace
停止:adb shell am profile <package> stop
具體解析,另行topic介紹.
使用https://github.com/huaping/slickr
運行環境, ubuntu 14.04 python 2.7
例如,針對系統Settings進行測試
可以使用./slickr.sh -s DeviceID -c 2 -p com.android.settings > profile.txt
如果針對水平滾動的如達闥桌面
./slickr.sh -s DeviceID -c 2 -p com.cloudminds.launcher3 -H > profile.txt
如果求平均值,可以使用
./slickr.sh -s DeviceID -c 2 -p com.cloudminds.launcher3 -H | avg.py
如果繪圖可以使用
./slickr.sh -s DeviceID -c 2 -p com.cloudminds.launcher3 -H | plot.py
比較兩次結果
compare.py profile1.txt profile2.txt