Android开发超级工具介绍traceview

来源:互联网 发布:西班牙语扫描翻译软件 编辑:程序博客网 时间:2024/06/08 19:47

首先来介绍下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 {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//设置,起始方法,mytraceview是写入到sdcard的文件名字Debug.startMethodTracing("mytraceview");System.out.println("开始执行了+onCreate");}@Overrideprotected void onStart() { System.out.println("开始执行了+onCreate");super.onStart();}@Overrideprotected void onRestart() {System.out.println("开始执行了+onRestart");super.onRestart();}@Overrideprotected void onResume() {System.out.println("开始执行了+onResume");super.onResume();}@Overrideprotected void onPause() {System.out.println("开始执行了+onPause");super.onPause();}@Overrideprotected void onStop() {System.out.println("开始执行了+onStop");super.onStop();}@Overrideprotected 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