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

转载于:https://www.cnblogs.com/Free-Thinker/p/4882556.html

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

  1. Android游戏帧分析工具,android性能跟踪分析工具系列 - TraceView

    37624124_1408459493746.jpg 文集目录 话说前2篇都是介绍查看app 每帧的渲染,根据不同任务耗时离来查找问题,那么我们现在可以发现 app 卡顿是由哪个任务区域造成的,然后呢 ...

  2. android性能调优的工具,神兵利器-Android 性能调优工具 Hugo

    在进行Android性能调优.减少应用卡顿时,寻找可优化的code是一个必要的过程.如何发现应用中的耗时任务甚至是耗时函数呢,如果可以在log中打印每个方法的执行时间,甚至把执行方法时的输入输出同时打 ...

  3. android 性能 检测工具,Android通用处理性能测试App(一)

    Android通用处理性能测试App 从arm11到Cortex-A8.A9乃至即将到来的A15,从单核到双核到四核,ARM处理器近年的发展甚至超越了摩尔定律.Android对硬件的高需求.芯片制造商 ...

  4. Android性能调试方法工具集合 - 持续更新

    第一篇_布局优化 一,影响面 布局的设计和编码影响是多方面的,包括界面启动,交互相应,内存,GC 二,思路和要求 整体布局思路:要求layout呈现扁平化,宽而浅的效果. 基本要求: 1.       ...

  5. Android性能优化的工具介绍

    最近对项目的性能进行测试优化,现在刚好有时间对内存泄漏整理下 什么是内存泄漏 Android 虚拟机的垃圾回收采用的是根搜索算法.GC会从根节点(GC Roots)开始对heap进行遍历.到最后,部分 ...

  6. Android性能优化之工具篇 — — 开发者选项

    Google为了方便开发者调试Android程序专门开发了开发者选项功能,能够让开发者方便快捷调试Android应用程序.对于一般用户无需关注,所以往往开发者选项在新版本中都会隐藏,需要特殊操作才会展 ...

  7. Android性能优化–Systrace工具,移动网页开发工具

    | –walt | WALT trace options | 测量手机和计算机上物理传感器和输出的延迟 | 获取报告 无时间限制,需要enter键开始 ./systrace.py -o trace.h ...

  8. Android 性能优化(62)---存检测、卡顿优化、耗电优化、APK瘦身——详解篇

    Android 性能优化,内存检测.卡顿优化.耗电优化.APK瘦身--详解篇 自2008年智能时代开始,Android操作系统一路高歌,10年智能机发展之路,如今 Android 9.0 代号P  都 ...

  9. Android 性能监测工具,优化内存、卡顿、耗电、APK的方法

    导语     安卓大军浩浩荡荡,发展已近十个年头,技术优化月新日异,如今 Android 9.0 代号P  都发布了,Android系统性能已经非常流畅了.但是,到了各大厂商手里,改源码自定系统,使得 ...

  10. Android系统性能优化(54)---Android性能分析专题

    Android性能分析专题 1.  背景:Android App优化, 要怎么做? 2.  Android App优化之性能分析工具 3.  Android App优化之提升你的App启动速度之理论基 ...

最新文章

  1. java.util.concurrent介绍
  2. rodbc 连接oracle,在R中加密密码 – 使用RODBC连接到Oracle DB
  3. python创建文件名称_如何在Python中创建递增文件名?
  4. keras.metrics中的accuracy
  5. 电商设计师抢着用的液态水滴素材到底有多酷!
  6. SDWebImage 笔记
  7. c语言 intptr_t
  8. VMware ThinApp应用程序虚拟化工具
  9. matlab解三角函数方程组,用matlab解三角函数方程组:y=A+Bx+Csin(Dx)+Esin(Fx)
  10. 医学图像加密算法研究_项目笔记
  11. CSS W3C 统一验证工具和压缩
  12. Docker容器内部 DNS 解析失败的问题
  13. matlab lcl滤波器,LCL滤波器参数性能的比较
  14. 全国大学生物联网设计竞赛作品 | 室内消毒机器人-艾盾
  15. Ruby_01_环境安装
  16. 夫妻卖盲盒、年入16亿,揭秘泡泡玛特的暴利生意
  17. C++ day22 继承(二)基类指针数组通过虚方法实现智能的多态
  18. 嵌入式消息队列artemis
  19. 删除 Bonjour service服务
  20. 阿里云服务器CPU超分型专有宿主机创建v5实例

热门文章

  1. 坐标下降法和交替最小二乘法的区别是什么?
  2. UniDrop:一种简单而有效的Transformer提升技术
  3. 面经 | NLP算法岗(百度)
  4. 20项任务全面碾压BERT,CMU全新XLNet预训练模型屠榜(已开源)
  5. 简单实例讲解为何深度学习有效
  6. Anaconda下载太慢
  7. 深度学习6-自定义层详解
  8. mysql基础8-运算符、函数、索引
  9. SpringCloud——服务短路
  10. 书单|互联网企业面试案头书之程序员技术篇