用systrace分析卡顿问题
1. 如何抓取systrace
1)将sdk platform-tools升级到最新(目前是25.0.1),因为旧版本sdk抓取到的systrace文件会出现打不开或显示信息不全等问题。
2)在ubuntu环境下运行如下adb 命令:
$ cd android-sdk/platform-tools/systrace
$ python systrace.py --time=2 -o mynewtrace.html sched gfx view input -a com.gionee.change
(如有必要的话,第一个命令注意替换命令中相关目录,第二个命令注意替换时间(不要太久默认5s)和标签(gfx view input),一般滑动卡顿现象只需加此三个标签即可,标签详细信息见开发者网站及mtk文档)
运行第二个命令时若遇到:
报了python异常是
File "/home/leiyong/work/android_sdk/platform-tools/systrace/catapult/common/battor/battor/battor_
wrapper.py", line 23, in <module>
from serial.tools import list_ports
ImportError: No module named tools
解决办法:执行
sudo apt-get install python-pip
sudo pip install pyserial --upgrade
2. 如何分析systrace?
1)将chrome浏览器升级到版本 55.0.2883.75 (64-bit)
2)打开chrome浏览器,在地址栏输入chrome://tracing/,然后点击load,选取上述步骤中生成的html文件,正常情况下会看到如下图所示界面:
3)点击非绿色帧,可看到提示信息如下图所示:(Alerts信息揭示了原因和优化方向)