安卓性能分析工具
生成方法调用信息的方法
打包一个可以debug的app到手机,值得注意的是夜神模拟器上所有的app都是可以调试的,包括系统应用
打开app,连接手机到电脑
点击start method profiling,开始录制调用堆栈
在手机上进行操作
再点击一遍那个按钮停止录制
界面上就会显示出所有的信息
源码中有一段
findViewById(R.id.
btn).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast. makeText(MainActivity. this, "abc", Toast. LENGTH_SHORT).show();
}
@Override
public void onClick(View v) {
Toast. makeText(MainActivity. this, "abc", Toast. LENGTH_SHORT).show();
}
});
这个方法列表中是如何显示的呢?
在traceview中找到onclick方法
这就是onClick方法中的的调用堆栈。 parent表示调用onclick方法的方法,children表示本方法和本方法中调用的方法。右边可以看到方法执行的时间消耗
children中的排序与调用顺序无关,与每个方法消耗的时间有关
如何获取trace文件呢?
把鼠标放到标签页上,那就是trace文件的路径了
methdo profile中的其它字段的含义参考这篇文章
http://blog.jobbole.com/78995/