System trace traceview分析工具

分析Android系统app性能问题,使用Systrace文件分析找出引起系统卡顿,反应慢的原因,开机慢等问题

1、首先打开Android Device Monitor(DDMS为例),选择要你的应用进程这里如com.android.gallery3d


2、点击capture system wide trace using android systrace


3、点击后会弹出trace配置框,看自己需要的配置点勾


4、生成trace文件如目录所示,确保电脑有chome浏览器,在浏览器输入 chrome://tracing/ 会显示如图


5、点load,选择trace所以目录


6、使用快捷键查看,W:放大 S:缩小 A:左移 D:右移

G:选中当前Task开始位置   SHIFT+G:选中Task结束的位置


放大选中查看,就可以看到具体耗时情况,尤其用来看卡顿,优化UI,启动速度非常有效

6.代码中添加代码生成trace文件

android4.3 api18以上,允许代码生成trace文件。使用
Trace.beginSection(Tag);开始

Trace.endSection();结束

必须保证在统一进程begin和end,类似上锁,多个begin和end出现,会找到最近那个匹配

7、接下来看看traceview分析trace log

使用TraceView主要有两种方式:

第一种方式打开DDMS,选择一个进程,后点“Start Method Profiling”按钮,等红色小点变成黑色以后就表示TraceView已启动完成。然后开始进行对有怀疑的地方进行滑动点击操作。然后再点“Start Method Profiling”按钮按钮,等一会就会出现上面这幅图,然后就可以开始分析了。按钮如图


第2种方式 android.os.Debug.startMethodTracing()和android.os.Debug.stopMethodTracing();运行完在sdcard目录生成trace文件,也可以指定名字,在startMethodTracing(String traceName);

再使用命令导出到电脑,用ddms打开 adb pull /sdcard/wanghp.trace  /adin


重点:

1、Calls + Recur Calls / Total 调用次数,递归次数
2、Cpu Time / Call,cpu时间和调用次数,比如一个recyclerview,可以分析adapter总共时间,以及调用次数,分析耗时,效率问题
3、cpu time和real time cpu执行时间和真正时间,如果有区别,那real 比cputime高,存在阻塞

刚学会用tracelog分析,继续研究,毕竟该工具没文档,自己guess

你可能感兴趣的:(System trace traceview分析工具)