Android性能检测

traceview的使用方法

1. 把android-sdk-windows\tools路径加到Path当中

Android性能检测--traceview工具各个参数的意思_第1张图片

2. 编写测试代码:

package com.wwj.traceview;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.os.Debug;import android.view.View;import android.widget.Toast;public class MainActivity extends Activity {private List<Integer> list1 = new ArrayList<Integer>();    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }            //第一个测试方法    public void test1() {    //向List1对象添加10000个数    for(int i = 0; i < 10000; i++) {    list1.add(i);    }    }        //第二个测试方法    public void test2() {    //依次获得List对象中的元素    for(int i = 0; i < 10000; i++) {    list1.get(i);    }    }        public void onClick_Test(View view) {    try {    /*//获取执行test1方法前的时间点(单位:毫秒)    long start1 = System.currentTimeMillis();    test1();    long end1 = System.currentTimeMillis();    //获取执行test2方法前的时间点(单位:毫秒)    long start2 = System.currentTimeMillis();    test2();    long end2 = System.currentTimeMillis();    //显示测试结果    Toast.makeText(this, "test1方法的执行时间:" + (end1 - start1) + "毫秒\ntest2方法的执行时间: "    + (end2 - start2) + "毫秒", Toast.LENGTH_LONG).show();*/        //获取调用test1方法之前的内存    /*long start1 = Memory.used();    test1();    //获取调用test1方法之后的内存    long end1 = Memory.used();    //获取调用test1方法之前的内存    long start2 = Memory.used();    test2();    //获取调用test1方法之后的内存    long end2 = Memory.used();    Toast.makeText(this, "test1方法占用的内存:" + (end1 - start1) + "字节\ntest2方法占用的内存: "    + (end2 - start2) + "字节", Toast.LENGTH_LONG).show();    */        //开始监视方法    Debug.startMethodTracing("wwj_trace");    test1();    test2();    Debug.stopMethodTracing();        } catch (Exception e) {    e.printStackTrace();    }    }    }

Android性能检测--traceview工具各个参数的意思_第2张图片



3. 记得要设置权限:

    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>




点击按钮后会在SD卡根目录产生一个后缀为trace的文件

Android性能检测--traceview工具各个参数的意思_第3张图片


4. 将这个文件导出到你想要放的位置比如:c:\wwj_trace.trace

Android性能检测--traceview工具各个参数的意思_第4张图片


5. 运行traceview c:\wwj_trace.trace指令后出现traceview视图

Android性能检测--traceview工具各个参数的意思_第5张图片


接触过Android有一段时间的童鞋一定会了解到traceview这个工具,本人也是近期需要进行性能检测,所以才去学习这个工具的使用,很简单,下面主要是介绍这个工具一些重要参数的意思,是根据自己的理解来写的,也不知道对不对。

各个参数的意思:

Inl Cpu Time%:方法在运行期间被调用的时间占总时间的百分比。

Incl Cpu Time:方法执行的总时间(包括调用子函数所消耗的时间):调用该方法每次所需要消耗的时间*执行次数。

Excl Cpu Time%:方法自身所消耗的时间(不包括调用其他方法所消耗的时间)占总时间的百分比。

Excl Cpu Time:方法自身所消耗的时间。

Incl Real Time%:方法真正执行的时间占总时间的百分比。

Incl Real Time:方法真正被执行的时间。

Excl Real Time%:方法真正被执行的时间占总时间的百分比

Excl Real Time:方法真正被执行的所消耗的时间

Calls+RecurCalls/Total:方法被调用的次数+重复调用的次数

Cpu Time/Call:方法每次被执行的时间

Real Time/Call:方法真实被执行的时间


关于traceview工具的学习记录就到这里,如果有童鞋发现错误的地方,麻烦帮忙纠正一下,小巫将无法感激。






更多相关文章

  1. android粗略获得程序运行时间的方法
  2. android 开发 时间选择器TimePicker的使用
  3. TextView英文自动换行解决方法
  4. Android实现全屏的方法
  5. [android]布局(容器)简介和使用方法
  6. dx 工具的使用
  7. Android文件系统的结构及目录用途、操作方法 整理

随机推荐

  1. 深度详解Retrofit2使用(二)实践
  2. Android binder 实例
  3. android 的几个黄色警告解决办法
  4. 判断可用的intent和更改Drawable的透明度
  5. Unity上同时兼容Android和IOS的JSON库
  6. android 加载 网络图片
  7. Android实现“退出确认”对话框
  8. android 怎么判断手机号是移动还是联通
  9. 关于android中drawable—hdpi、drawable
  10. 检查Android进程当前是否正在后台运行