zoukankan      html  css  js  c++  java
  • 【Android】开发优化之——调优工具:TrackView,Method Profiling

    Android SDK自带的tool TrackView 位于 sdk的tools文件夹下。使用方法为:进入到tools下,执行

    traceview e:loginActivityTracing.trace

    就可以。那trace文件怎么生成的呢。


    有两种方式生成

    1、使用代码生成,想调哪调哪。

    仅仅须要在须要调用的地方调用

    Debug.startMethodTracing("loginActivityTracing");

    和结束调用的地方调用

    Debug.stopMethodTracing();

    就会在sd卡的根文件夹生成loginActivityTracing.trace文件。


    2、没有代码呢,能够使用DDMS来生成。



    这是開始。然后同一个button再点一次就生成.trace文件并打开了。




    运行之后能够看到这样一个图片:



    TraceView界面信息介绍
    TraceView界面包含时间面板和方法面板
    (1) 时间面板(Timeline Panel)
    时间面板展示了每一个线程的运行情况,当中的[1]main即为ui主线程。


    移动到某个位置能够查看该点相应的方法的运行信息,点击方法面板则会选中相应的方法。
    能够左键按住不放选中区域放大局部精细查看。不同方法用不同颜色标注


     


    (2) 方法面板(Profile Panel)
    方法面板展示了全部方法的运行情况。点击某个方法能够查看在相应线程上的运行时间区域,并会显示其父方法及子方法。
    每一个方法包含例如以下信息列,可点击某列进行排序,从而确定产生性能问题的函数:
    Incl Cpu Time, Excl Cpu Time, Incl Real Time, Excl Real Time, Incl Cpu Time%, Excl Cpu Time%, Incl Real Time%, Excl Real Time%, Calls+RecurCalls/Total, Cpu Time/Call, Real Time/Call
    全部的Time都是以毫秒计算。

    每列详细含义及作用例如以下:
    a. Incl表示将全部子函数耗时也计算在内,Excl则表示不包含子函数的调用时间。对照能够确定耗时操作发生是自身还是子函数中。


    b. Cpu Time表示占用cpu运行的时间,Real Time包含Cpu Time以及等待、切换的时间等,所以一般都大于Cpu Time。对照能够推断耗时操作是否在cpu运行段内。


    c. 上面四个指标相应的%表示函数在总时间的占比。方便查看某个函数的时间占比。


    d. Calls+RecurCalls/Total表示被外部调用次数+递归次数/总次数。能够查看调用次数是否符合自己预期。
    e. Cpu Time/Call, Real Time/Call表示总的Cpu Time及Real Time与总调用次数的比例。查看每次调用的耗时,一般可通过简单此项确定每一个函数的性能。



  • 相关阅读:
    Uva 10779 collector's problem
    poj 2728 最优比率树(最小生成树问题)
    LA 3126 二分图匹配 最小路径覆盖
    poj 1149 最大流构图
    Step By Step(Java XML篇)
    Step By Step(Java 输入输出篇)
    Step By Step(Java 集合篇)
    Step By Step(Java 线程篇)
    Step By Step(Java 反射篇)
    Step By Step(Java 国际化篇)
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/6912964.html
Copyright © 2011-2022 走看看