zoukankan      html  css  js  c++  java
  • 【android】Traceview 效率检视工具——分析程序运行速度

    前提:保证有SD卡,因为所保存的trace文件默认是放在/sdcard/下的。

    开始trace,在onCreate()函数中使用命令

    Debug.startMethodTracing("result");	//开始记录/sdcard/result.trace文件 

    结束trace,在onStop()函数中使用命令

    @Override
    public void onStop(){
      // TODO Auto-generated method stub
      super.onStop();
    		
      Debug.stopMethodTracing();	//结束记录result.trace文件 
    }

    这样使用DDMS工具将result.trace文件导出(pull),例如放在了E:下,则在命令行中输入命令:

    traceview E:/result.trace

    则可以看到traceview的分析结果:

    7211253_1293608209OYOI

        最右上角表示运行程序总共用了多少时间,从traceview画面中我们看到有各种颜色,每种颜色代表不同的函数和步骤,那么同一颜色的区域越大,就代表这个步骤运行时间越长,或者看到下面的统计表,明显可以看出除了序列 0 1 是系统函数外,2. 3.函数 占用的时间比较长,那么序列4是个自定义的函数名为 “hot”这个占用了几乎与主线程 主draw的时间一样了,那么肯定有问题。当然其实这个方法是我故意写的,就是为了来演示traceview。

        那么,在traceview的右半部统计字段中:

    Exclusive: 同级函数本身运行的时间

    Inclusive 就是说除统计函数本身运行的时间外再加上调用子函数所运行的时间

    Name:列出的是所有的调用项,前面的数字是编号,展开可以看到有的有Parent 和Children子项,就是指被调用和调用。

    Incl: inclusive时间占总时间的白分比

    Excl: 执行占总时间的白分比。

    Calls+Recur Calls/Total: 调用和重复调用的次数

    Time/Call: 总的时间。(ms)

    参考地址:http://blog.csdn.net/xiaominghimi/archive/2010/12/29/6105212.aspx

  • 相关阅读:
    团队项目----数据库SQL语句学习总结与实践
    团队项目----德州扑克数据库设计之改进版
    期末项目《员工考勤管理系统》
    Applet
    Json
    study of javaserver faces lifecycle
    Session
    xml的用途,定义,原理,以及前景
    互联网应用于企业级应用的区别
    JavaEE体系架构
  • 原文地址:https://www.cnblogs.com/Amandaliu/p/2103245.html
Copyright © 2011-2022 走看看