TraceView 使用

来源:互联网 发布:送货单软件破解 编辑:程序博客网 时间:2024/06/07 18:38

在app的运行过程中总会出现一些卡顿现象,而且然人难以去寻找。TraceView就是一个可以让我们简单的去寻找app中具体在哪里卡顿的一个非常方便的工具。
1.具体使用
(1)在代码中使用
首先我们要选中要调试的代码片段使用Debug.startMethodTracing(“DebugName”)来开启调试参数为保存调试 文件的名字。使用Debug.stopMethodTracing()来结束调试。
例如:
@Override
final protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Debug.startMethodTracing(“onCreate”);
//设置是否全屏,如果不全屏,设置状态栏颜色
setScreenIsFull();
//设置Layout
setContentView(initContentView());
//初始化Presenter
mPresenter = createPresenter();
mPresenter.attachView((V) this);
ButterKnife.bind(this);
initView();
initData();
//添加到Activity栈管理器
AppStackManager.getAppStackManager().addActivity(this);
Debug.stopMethodTracing();
}
使用TraceView 获取OnCreate中每个方法的指标。
然后我们要在手机导出trace文件
adb pull sdcard/onCreate.trace
打开ddms
这里写图片描述
在ddms中打开onCreate.trace文件
这里写图片描述
(2)直接使用图形界面
在ddms中开始是点击这里写图片描述 结束在点击一次 同样也会生成.trace文件并直接打开
2.界面中每列所代表的含义
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类似,只不过统计单位换成了真实时间
3.如何进行具体的分析
通过TraceView 底部的find 可以根据Android app的包名来查找,然后根据自己所关心的进行排序,查找到真正耗时的方法。

0 0