Traceview卡顿检测
Traceview是Android平台特有的数据采集和分析工具,集成在DDMS工具中,可以采集程序中的方法执行耗时、调用关系、调用次数以及资源占用等情况。
一、使用方法
1、启动虚拟机/连接手机,cmd命令输入ddms启动DDMS工具。打开手机上被测应用,在ddms上选择测试应用的进程。点击Start Method Profiling按钮,当按钮上的小红点变成黑色的时候,处于采集信息状态。
2、操作应用被测模块,操作完成后,点击Start Method Profiling结束采集信息,这时会弹出Traceview界面,显示操作过程中采集的数据信息。
Traceview界面分为时间线界面和分析界面两部分,时间界面显示线程函数的调用信息,包括函数名和函数时间,鼠标在时间线上移动,可以显示当前时间点中线程执行的信息;分析界面展示了线程中函数调用情况,包括CPU使用时间,调用次数等信息。
列名 |
描述 |
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类似,只不过统计单位换成了真实时间. |
二、关注点
1、消耗CPU时间较长的方法:选择Cpu Time/Call列进行降序排序,查看耗时最长的函数,如果该函数调用一次或者调用次数很少,但是耗时非常长,那么很可能是潜在的问题。
2、调用次数频繁的方法:选择Call/Recur Calls/Total进行降序排序,查看调用次数频繁且CPU耗时很长的方法,也可能是一个潜在的问题。
三、卡顿检测
如果对应用某个模块进行操作时,明显会觉得卡顿,那么可以用TraceView定位卡顿的原因,Start Method Profiling启动TraceView数据采集,操作卡顿模块,操作时间尽量简短且覆盖卡顿操作,便于查找问题,停止数据采集,查找分析界面CPU耗时较长的方法即可能是卡顿原因所在。
时间: 2024-10-14 04:43:04