查看应用的屏幕绘制速度, 能够看到卡顿–其实就是丢帧的现象
当系统系能变差,或在应用设计缺陷导致绘制时间过长, 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