官方地址 http://developer.android.com/tools/debugging/debugging-tracing.htmlhtml
推荐:http://blog.csdn.net/innost/article/details/9008691android
1.TraceView简介web
TraceView是AndroidSDK里面自带的工具,用于对Android的应用程序以及Framework层的代码进行性能分析。函数
TraceView是图形化的工具,最终它会产生一个图表,用于对性能分析进行说明。工具
TraceView能够跟踪到具体的Method。性能
2.TraceView的原理spa
TraceView经过修改code,在须要调试的起始和结束位置加入调试函数,通常在activity的onCreate()中添加Debug.startMethodTracing(“Test”), 在onStop()中来调用Debug.stopMethodTracing()。这样当咱们切换到其它activity或者点击home键的时候onStop()就会被调用,咱们也就能够获得完整的trace file。.net
程序运行以后会在SD的根目录下产生Test.trace文件来保存运行时的数据,而后把Test.trace文件考到pc机上,经过traceview命令对Test.trace文件进行分析。翻译
权限设置:程序会将Trace文件写入手机SDcard中,所以须要添加内存卡访问权限debug
在manifest文件中加入: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
3. TraceView图形
时间片面板(Timeline panel)
分析面板(Profile panel)
如下是翻译
Exclusive: 同级函数自己运行的时间
Inclusive 就是说除统计函数自己运行的时间外再加上调用子函数所运行的时间
Name:列出的是全部的调用项,前面的数字是编号,展开能够看到有的有Parent 和Children子项,就是指被调用和调用。
Incl: inclusive时间占总时间的白分比
Excl: 执行占总时间的白分比。
Calls+Recur Calls/Total: 调用和重复调用的次数
Time/Call: 总的时间。(ms)