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. block 解析 - 局部变量

    局部变量 block内使用局部变量,一般都是截获变量(只读),截获离block初始化最近的一次的值. 引用官方文档: Stack (non-static) variables local to the ...

  2. c 这题做了半天,虽然做好了,但是思路还是不清晰,估计让我再做一次还是比较花时间的。

    输入一个大写字符,如F 比如: 输入:F 输出: FEDCBA EDCBAB DCBABC CBABCD BABCDE ABCDEF 输入 B 输出: BA AB #include<stdio. ...

  3. Web打印组件jatoolsPrinter(转载)

    应用web化,不论对开发商,还是对用户来说,实在是一种很经济的选择,因为基于web的应用,客户端的规则很简单,容易学习,容易维护,容易发布.但对程序员来说,因为浏览器的局限性,却要面对很多挑战.怎么样 ...

  4. Oracle_sqlload导数案例

    文件地址:http://115.com/lb/5lbbut5jc6op 案例中的sql_load导数公用到5个文件,分别是bat.ctl.txt.log.bad 5个文件 bat文件: --用户名/用 ...

  5. dedecms的入门使用

    前段时间(其实也很远了)一直在学习dedecms,这里对前段时间的学习做一个总结. dedecms学习网址:http://help.dedecms.com/v53

  6. Laravel 简单使用七牛云服务

    前言 路漫漫其修远兮,吾将上下而求索.学习 Laravel 之初觉得所有东西都很厉害的样子,现在看来就是很厉害啊!最近在写一个项目上传的模块,要上传图片到七牛云,昨天看了一下午七牛云官方的文档感觉还是 ...

  7. Nginx 之六: Nginx服务器的反向代理功能

    一:Nginx作为正向代理服务器: 1.正向代理:代理(proxy)服务也可以称为是正向代理,指的是将服务器部署在公司的网关,代理公司内部员工上外网的请求,可以起到一定的安全作用和管理限制作用,正向代 ...

  8. (Problem 22)Names scores

    Using names.txt (right click and 'Save Link/Target As...'), a 46K text file containing over five-tho ...

  9. commons-logging和slf4j都是日志的接口

    过上面的图,可以简单的理清关系! commons-logging和slf4j都是日志的接口,供用户使用,而没有提供实现! log4j,logback等等才是日志的真正实现. 当我们调用接口时,接口的工 ...

  10. 邀请朋友富途开户赢iPhone6的史上最强攻略

    最近有关沪港通的消息很多,加上阿里巴巴马上IPO,所以上个月我在朋友推荐下,来富途开了个户.本来对邀请不太感兴趣,但这次的奖品实在诱人,因为超级想要iPhone6,所以也加入了邀请大队.到发贴的时候, ...