一、TraceView简介
TraceView是AndroidSDK里面自带的工具,用于对Android的应用程序以及Framework层的代码进行性能分析。
TraceView是图形化的工具,最终它会产生一个图表,用于对性能分析进行说明。
TraceView可以跟踪到具体的Method
二、TraceView的原理
TraceView通过修改code,在需要调试的起始位置加入调试函数,程序运行之后会在SD的根目录下产生*.trace文件来保存运行时的数据,然后把*.trace文件考到pc机上,通过traceview命令对*.trace文件进行分析。
二、TraceView的使用
TraceView使用的前提是无论手机还是模拟器,都要有SD卡的支持,因为它产生的数据文件将会存到SD卡上。对于手机需要插入SD卡,对于模拟器要在建立/启动模拟器的时候加入SD卡的支持就可以了。
需要TraceView起作用,需要在对code进行修改。具体修改内容如下:
只要在打算调试的开始位置和结束位置加上相应的函数就可以,至于调试的起始位置的选择需要根据具体情况而定。
通过命令traceview *.trace对数据文件进行分析。
打开的数据文件如下:
看到界面是不是晕了啊!:原来:
在traceview的右半部统计字段中:Exclusive: 同级函数本身运行的时间
Inclusive 就是说除统计函数本身运行的时间外再加上调用子函数所运行的时间
Name:列出的是所有的调用项,前面的数字是编号,展开可以看到有的有Parent 和Children子项,就是指被调用和调用。 Incl: inclusive时间占总时间的白分比Excl: 执行占总时间的白分比。
Calls+Recur Calls/Total: 调用和重复调用的次数 Time/Call: 总的时间。(ms)
【
Incl Cpu Time% : 函数本身运行的cpu时间占总时间的百分比
Incl Cpu Time : 函数本身运行的cpu时间Excl Cpu Time% : 函数本身运行的cpu时间 + 函数调用了进程的cpu时间 占总时间的 百分比Excl Cpu Time : 函数本身运行的cpu时间 + 函数调用了进程的cpu时间Incl Real Time% :函数本身运行的real时间占总时间的百分比Incl Real Time :函数本身运行的real时间Excl Real Time%:函数本身运行的cpu时间 + 函数调用了进程的real时间 占总时间的 百分比Excl Real Time :函数本身运行的cpu时间 + 函数调用了进程的cpu时间Calls + RecurCall/Total:函数总的调用次数Cpu Time/Call :总的Cpu时间与总的调用次数之比Real Time/Call :总的Real时间与总的调用次数之比
】
转自: