性能分析工具TraceView的使用:
1,没有项目源代码的情况下:
在DDMS面板的Devices子面板中,双击选中Name下面展示的项目列表中需要分析的项目,在手机上操作项目到你需要分析的页面,点击Devices面板中Start Method Profiling按钮,回到手机上继续操作项目,当你需要停止时点击Devices面板中同一个按钮,此时会弹出项目运行时这段代码的分析面板
2,有源代码的情况下:
在需要分析的代码前一行加上
Debug.startMethodTracing(“Tracelog”);
在分析结束的地方加上:
Debug.stopMethodTracing();
注意:需要确保应用的AndroidMainfest.xml中添加了SD卡的读写权限,因为这种情况会在SD卡的根目录上生成一个Tracelog.log的文件,使用命令:adb pull /sdcard/Tracelog.log d:/ 把这个文件拷贝至d盘,cmd定位到android sdk的tools目录下执行traceview Tracelog命令,此时会弹出图形分析面板,通过这个图形界面就可以分析出应用的性能瓶颈。
下面列出 Profile Panel 中比较重要的列名及其描述:
- Name:
该线程运行过程中所调用的函数名 - Incl Cpu Time:
某函数占用的CPU时间,包含内部调用其他函数的CPU时间 - Excl Cpu Time:
某函数占用的CPU时间,不包含内部调用其他函数的CPU时间 - Incl Real Time:
某函数运行的真实时间(毫秒),内含调用其他函数所占用的真实时间 - Excl Real Time:
某函数运行的真实时间(毫秒),不含调用其他函数所占用的真实时间 - Call+Recur Calls/Total:
某函数被调用次数以及递归调用占总调用次数的百分比 - Cpu Time/Call:
某函数调用CPU时间与调用次数的比,相当于该函数平均执行时间 - Real Time/Call:
同CPU Time/Call类似,只不过统计单位换成了真实时间