Android性能检测--traceview工具各个参数的意思

Android性能检测

traceview的使用方法

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

2. 编写测试代码:

[java] view plaincopy

  1. package com.wwj.traceview;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import android.app.Activity;
  5. import android.os.Bundle;
  6. import android.os.Debug;
  7. import android.view.View;
  8. import android.widget.Toast;
  9. public class MainActivity extends Activity {
  10. private List<Integer> list1 = new ArrayList<Integer>();
  11. @Override
  12. public void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.activity_main);
  15. }
  16. //第一个测试方法
  17. public void test1() {
  18. //向List1对象添加10000个数
  19. for(int i = 0; i < 10000; i++) {
  20. list1.add(i);
  21. }
  22. }
  23. //第二个测试方法
  24. public void test2() {
  25. //依次获得List对象中的元素
  26. for(int i = 0; i < 10000; i++) {
  27. list1.get(i);
  28. }
  29. }
  30. public void onClick_Test(View view) {
  31. try {
  32. /*//获取执行test1方法前的时间点(单位:毫秒)
  33. long start1 = System.currentTimeMillis();
  34. test1();
  35. long end1 = System.currentTimeMillis();
  36. //获取执行test2方法前的时间点(单位:毫秒)
  37. long start2 = System.currentTimeMillis();
  38. test2();
  39. long end2 = System.currentTimeMillis();
  40. //显示测试结果
  41. Toast.makeText(this, "test1方法的执行时间:" + (end1 - start1) + "毫秒\ntest2方法的执行时间: "
  42. + (end2 - start2) + "毫秒", Toast.LENGTH_LONG).show();*/
  43. //获取调用test1方法之前的内存
  44. /*long start1 = Memory.used();
  45. test1();
  46. //获取调用test1方法之后的内存
  47. long end1 = Memory.used();
  48. //获取调用test1方法之前的内存
  49. long start2 = Memory.used();
  50. test2();
  51. //获取调用test1方法之后的内存
  52. long end2 = Memory.used();
  53. Toast.makeText(this, "test1方法占用的内存:" + (end1 - start1) + "字节\ntest2方法占用的内存: "
  54. + (end2 - start2) + "字节", Toast.LENGTH_LONG).show();
  55. */
  56. //开始监视方法
  57. Debug.startMethodTracing("wwj_trace");
  58. test1();
  59. test2();
  60. Debug.stopMethodTracing();
  61. } catch (Exception e) {
  62. e.printStackTrace();
  63. }
  64. }
  65. }

3. 记得要设置权限:

[html] view plaincopy

  1. <span style="font-size:24px;">    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
  2. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/></span>

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

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

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

接触过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工具的学习记录就到这里,如果有童鞋发现错误的地方,麻烦帮忙纠正一下。

时间: 2024-10-28 15:35:47

Android性能检测--traceview工具各个参数的意思的相关文章

Android性能调优工具之 TraceView

从1月份Google发布的16个关于性能优化的系列视频起,这段时间在各大社区都有看到很多优秀的关于优化系列的文章.有分析了性能产生的原因.有分享如何优化我们的应用.有介绍有哪些工具可以帮助我们检测性能问题. 其中 在关于一些系统性能调优工具里有介绍到工具之一:TraceView TraceView 是 Android 平台配备一个很好的性能分析的工具.它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到某个函数方法method的执行耗时时间. 因为小吕之前确实没有使用过该工具.所

【Java/Android性能优3】Android性能调优工具TraceView使用介绍

本文转自:http://blog.csdn.net/innost/article/details/9008691 在软件开发过程中,想必很多读者都遇到过系统性能问题.而解决系统性能问题的几个主要步骤是: 测评:对系统进行大量有针对性的测试,以得到合适的测试数据. 分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck). 性能优化:对hotspot相关的代码进行优化. 由上述步骤可知,性能优化的目标对象是hotspot.如果找到的hotspot并非真正的热点,则性能优

Android性能检测工具——traceview

之前的几篇文章中介绍了android中常用的一些工具,今天介绍的工具也是比较实用和方便的,它可以用量化的指标告诉我们哪个方法执行的时间最长,被调用的次数最多,有没有重复调用.下面我们就来看看它是怎么为我们所用的. 一.标注测试的代码区域 如果我们想要测试gridView设置适配器这段代码,该怎么做呢?很简单,用两行代码夹住它~ 原始的代码: mPhotoWall.setAdapter(mAdapter); 标注为测试的代码: Debug.startMethodTracing("my_trace_

Android性能检测工具

网易Emmagee Github地址:https://github.com/king1039/Emmagee 腾讯GT Github地址:https://github.com/Tencent/GT 腾讯的APT Github地址:https://github.com/shawwinbin/APT Tencent CSDN地址:https://code.csdn.net/Tencent/apt/tree/master 科大讯飞的iTest Github地址:https://github.com/B

Android性能优化-MAT工具的简单使用

1.MAT的简单介绍 MAT(Memory Analyzer Tool) 是基于heap dumps来进行内存分析的工具,一个基于Eclipse的内存分析工具,是一个快速.功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗. 2.下载安装 下载地址 http://www.eclipse.org/mat/downloads.php 地址里面有插件包和独立安装包,如下图 选择自己合适的下载 我这里选择的是zip包,在eclipse中进行了安装. 3.获取.hprof文件

linux服务器性能检测工具nmon使用

今天介绍一款linux系统服务器性能检测的工具-nmon及nmon_analyser (生成性能报告的免费工具),亲测可用. 一.介绍 nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新.这个高效的工具可以工作于任何哑屏幕.telnet 会话.甚至拨号线路.另外,它并不会消耗大量的 CPU 周期,通常低于百分之二.在更新的计算机上,其 CPU 使用率将低于百分之一. 使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新.然而,您可以很容易地将这个时间间隔

Android性能測试 一些适用于Android Studio的代码审查和性能測试工具

导言: Android应用在CPU占用,内存消耗方面的性能指标是影响产品质量的重要因素,因为QQ管家,360手机助手等应用都提供直观的内存消耗,流量监控功能,致使用户比以往更加关注软件的性能,并以此进行软件选用的决策. 眼下,已经有非常多能够监控android app 性能的工具能够供开发者使用.如:基于Eclipse插件体系的MAT,其通过生成.hprof文件对内存泄露情况进行排查:内存检測工具APT:提供CPU利用率实时曲线图,方便对照測试内存泄露问题[图0-1] 图 0-1  通过APT实

Android性能优化总结(转)

前言 性能优化本身是一个很大的主题,涵盖程序的方方面面,任何不慎的操作,都有可能对性能造成比较大的影响,要知道程序的性能是可以累加的,多处的性能低下, 会影响整体的性能,其后果可能也是多方面的,本文总结了目前工作中,所需要知道的大部分性能优化点,一部分个人总结,一部分来自于互联网.但整体上,都是 提纲性的,并没有列出具体的实例,因为写这方面主题的达人实在太多了,所以,我得站在巨人的肩膀上,具体细节,请参考对应的链接. 性能低下的现象 游戏:界面很卡,FPS低 搜索性能差 服务器响应速度慢 OS:

正确使用Android性能分析工具&mdash;&mdash;TraceView

前面唠叨 最近公司app中有些列表在滑动的时候会有卡顿现象,我就开始着手解决这些问题,解决问题之前首先要分析列表滑动的性能瓶颈在什么地方.因为之前不会正确使用TraceView这个工具,主要是看不懂TraceView界面下方数据指标的值代表什么意思-以前我用StopWatch类来分析性能,现在觉得弱爆了-不过有些地方StopWatch工具类还是很简单好用的~ 网上可以找了很多博客来介绍这个工具的使用方法,很多都是讲解了一些一些就会的方法,讲一个大概,包括StackOverFlow上我也没有找到很