Android开发超级工具介绍traceview

首先来介绍下traceview是用来做什么的?

这个工具可以用来跟踪在一个项目运行程序中所有的方法消耗的时间,并且可以指定从哪个方法运行到那个方法之间。很强大吧,好了,下面开始介绍使用方法。

下面是一个简单的Activity的生命周期,在onCreate()和onDestroy()方法中分别插入了获取时间段的方法代码;

代码:

package com.google;

import android.app.Activity;
import android.os.Bundle;
import android.os.Debug;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//设置,起始方法,mytraceview是写入到sdcard的文件名字
		Debug.startMethodTracing("mytraceview");
		System.out.println("开始执行了+onCreate");
	}

	@Override
	protected void onStart() {
	 	System.out.println("开始执行了+onCreate");
		super.onStart();
	}

	@Override
	protected void onRestart() {
		System.out.println("开始执行了+onRestart");
		super.onRestart();
	}

	@Override
	protected void onResume() {
		System.out.println("开始执行了+onResume");
		super.onResume();
	}

	@Override
	protected void onPause() {
		System.out.println("开始执行了+onPause");
		super.onPause();
	}

	@Override
	protected void onStop() {
		System.out.println("开始执行了+onStop");
		super.onStop();
	}

	@Override
	protected void onDestroy() {
		System.out.println("开始执行了+onDestroy");
		//结束方法
		Debug.stopMethodTracing();
		super.onDestroy();
	}
	
	
}

OK,现在我们运行下,这个时候在DDMS(如果你是用的是模拟器)中sdcard文件目录下会生成一个mytraceview.trace文件,如下图



注意:细心的小伙伴们会发现,现在只是一个空文件,为什么是个空文件呢,我们的方法不是已经写进去了吗?没错,你想到了因为onDestroy()方法还没有执行。

你需要在模拟器中:

将这个页面关闭,Activity就会销毁,这个时候onDestroy()方法就会执行。



好了,下面将这个文件导出来。

然后进入到你的sdk下的tools目录下,就会看到有个文件traceview.bat的文件。

好了,重点来了cmd命令进入Linux命令窗口,将traceview.bat文件拖拽到命令窗口中,一个空格,然后再将你导出的mytraceview.trace文件拖拽进去。

回车后,就能看到



看到这个界面,说明已经成功了。


在下方你可以查找你想要看的方法占用时间等。

好了,是不是很强大,看到赶紧试试吧!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值