zoukankan      html  css  js  c++  java
  • Android性能检测工具——traceview

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

    一、标注测试的代码区域

    如果我们想要测试gridView设置适配器这段代码,该怎么做呢?很简单,用两行代码夹住它~

    原始的代码:

    mPhotoWall.setAdapter(mAdapter);

    标注为测试的代码:

            Debug.startMethodTracing("my_trace_file");  
    
            mPhotoWall.setAdapter(mAdapter);
    
            Debug.stopMethodTracing();         

    这样我们就表明了,我们的测试是从setAdapter前开始,到它之后结束的。这里有个文件名,my_trace_file,这是我们测试后,得到测试报告的名字,一会再说。

    PS:记得要加上权限:

        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>  
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    二、查看测试报告

    运行程序后,我们会在sdcard文件夹下找到我们的测试报告文件

    如果我们想要查看的话,可以通过命令行,把它移动到d盘

    adb pull /sdcard/my_trace_file.trace d:/

    接着调用

    adb pull /sdcard/my_trace_file.trace d:/

    即可打开测试报告的图形界面:

    三、表头中各个参数的意义

    nl 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:方法真实被执行的时间

    PS:一般在activity的onCreate()中添加Debug.startMethodTracing(“Test”), 在onStop()中来调用Debug.stopMethodTracing()。这样当我们切换到其它activity或者点击home键的时候onStop()就会被调用,我们也就可以得到完整的trace file。

    参考自:

    http://blog.csdn.net/wwj_748/article/details/8913862

  • 相关阅读:
    Elementui:选择框
    Cesium之Cesium3DTileStyle
    Cesium粒子系统:雨雪云效果
    Cesium之3dtiles模型选择问题
    3dtiles贴地
    Android ListView异步加载图片
    Android的硬件加速
    Android ANR
    每天一点Linux 查看Ubuntu的版本号
    Android log system
  • 原文地址:https://www.cnblogs.com/tianzhijiexian/p/4277672.html
Copyright © 2011-2022 走看看