Android性能检测

traceview的使用方法

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

2. 编写测试代码:

  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. 记得要设置权限:

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

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

  1. 推荐AndroidGodEye Android性能检测工具

    推荐AndroidGodEye Android性能检测工具 1 介绍 AndroidGodEye是一个可以在PC浏览器中实时监控Android性能数据指标的工具,你可以通过wifi/usb连接手机和p ...

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

    本文转自:http://blog.csdn.net/innost/article/details/9008691 在软件开发过程中,想必很多读者都遇到过系统性能问题.而解决系统性能问题的几个主要步骤是 ...

  3. 【Java/Android性能优2】Android性能调优工具TraceView介绍

    本文参考:http://www.trinea.cn/android/android-traceview/ Android自带的TraceView堪比java的性能调优工具visualvm线程视图,可以 ...

  4. Android 性能优化之工具和优化点总结

    Android性能优化学习 最近公司主抓性能优化工作,借此春风也学习到了许多Android性能优化方面的知识.由于组内队友的给力,优化的成果也是比较喜人.同时也学习和实践了不少知识,特此记录. 1.性 ...

  5. Android 性能测试之TraceView的使用

    Traceview是android平台配备一个很好的性能分析的工具.它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method. 在SDK路径\tools目录下. 1.在开始使用 ...

  6. Android性能检测工具——traceview

    之前的几篇文章中介绍了android中常用的一些工具,今天介绍的工具也是比较实用和方便的,它可以用量化的指标告诉我们哪个方法执行的时间最长,被调用的次数最多,有没有重复调用.下面我们就来看看它是怎么为 ...

  7. Android性能分析Systrace工具

    一.概述 保证系统流畅度,也就是保证系统能连续不间断地提供每秒60帧的运行状态.当出现掉帧时(也可称为Jank),需要知道当前整个系统所处的状态,systrace便是最佳的选择,它能手机检测Andro ...

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

    今天介绍一款linux系统服务器性能检测的工具-nmon及nmon_analyser (生成性能报告的免费工具),亲测可用. 一.介绍 nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并 ...

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

    导言: Android应用在CPU占用,内存消耗方面的性能指标是影响产品质量的重要因素,因为QQ管家,360手机助手等应用都提供直观的内存消耗,流量监控功能,致使用户比以往更加关注软件的性能,并以此进 ...

随机推荐

  1. Windows Azure HDInsight 支持预览版 Hadoop 2.2 群集

     Windows Azure HDInsight 支持预览版 Hadoop 2.2 群集 继去年 10 月推出 Windows Azure HDInsight 之后,我们宣布 Windows Az ...

  2. 分区 Service Bus 队列和主题

    编辑人员注释:本文章由 Windows Azure Service Bus 团队的二级项目经理 Ruppert Koch 撰写. 上周,Microsoft 发布了 Azure SDK 2.2 和 Se ...

  3. poj 3630 Phone List(字典树)

    题目链接: http://poj.org/problem?id=3630 思路分析: 求在字符串中是否存在某个字符串为另一字符串的前缀: 即对于某个字符串而言,其是否为某个字符串的前缀,或存在某个其先 ...

  4. Android中的一些基础知识(二)

    这几天在回顾Android的基础知识,就把一些常见的知识点整理一下,以后忘了也可以翻出来看一看. 简单介绍一下Activity的生命周期 在API文档中对生命周期回调的函数描述的很详细,这里我只是翻译 ...

  5. 「OC」类和对象

    一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类. 术语:OO ...

  6. wget 无法下载jdk的处理办法

    完整语句:wget --no-cookie --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle. ...

  7. struts2的坑以及tomcat的一些常识

    Struts2中坑 1:一个很简单的跳转,死活跳不过去,总是404,那这个时候可以把struts.xml这个配置文件用IE浏览器打开,如果能够正常打开,那么说明struts.xml文件本身没有语法错误 ...

  8. python2.7_1.2_打印设备名和IPv4地址

    代码如下: # -*- coding: utf-8 -*- import socket def print_machine_info(): host_name = socket.gethostname ...

  9. 谓词--Predicate

    去苹果的的技术官网搜索-Predicate就会找到相关的文档-Predicate Programming Guide 1,创建谓词时 %@是变量时不加单双引号,常量是加单引号,加双引号需要转义符号\ ...

  10. [转载]MySql常用命令总结

    原文:http://www.php100.com/html/webkaifa/database/Mysql/2009/0910/3288.html1:使用SHOW语句找出在服务器上当前存在什么数据库: ...