ANR
当程序发送ANR异常时,导出traces.txt的方法
adb -s deviceName pull /data/anr/traces.txt d:/traces.txt
adb devices可以查看设备
MAT
1)http://www.eclipse.org/mat/downloads.php
2)DDMS页面,选中进程,单击Dump HPROF file按钮,在debug小虫子右侧第二个,有向下箭头那个图标
3)操作软件—等待—生成hprof后缀的文件
4)platform-tools目录下 hprof-conv命令
hprof-conv srcdir.hprof dstdir-conv.hprof
5)MAT工具打开,其中Histogram可以看到不同类型变量的个数
而Dominator Tree是内存泄漏分析的,操作:右击其窗口下某个条目,Path To GC Roots,
再选择exclude wake/soft references;
如果向查看某个对象,直接可以在Dominator Tree下搜索即可
TRACEVIEW
1)代码控制:Debug.startMethodTracing()和Debug.stopMethodTracing()
保存在/sdcard/dmtrace.trace
adb pull /sdcard/dmtrace.trace .
2)调试界面,start method profiling按钮,执行一会,再次点击即可完成
3)sdk\tools\traceview.bat工具 或者ADM工具open, 可以看到分为两部分,
上面是显示方法执行时间的时间轴,下面是详细信息profile
4)时间轴,每一行为一个独立线程,不同色块为不同方法,色块长度为执行时间
5)profile,显示了选择的色块所代表的方法性能分析
Incl CUP Time:该方法占有CPU的时间—Excl CUP Time:该方法本身(不包括子方法)占用CPU的时间
Incl Real Time:该方法真正的执行时间—Excl Real Time: 不包括子方法的执行时间
Call+RecurCalls:调用次数+递归回调的次数
分析入口:Incl CUP Time 和 Call+RecurCalls,分析时间长的且调用少,那么怀疑