Android应用性能检测工具-TraceView

    xiaoxiao2023-03-24  2

    TraceView主要的功能就是检测你的应用在运行过程中各个线程的CPU占用情况,依据此可以找出你的应用出现卡顿的地方。

    基本使用

    使用TraceView主要有两种方式: 1、从Android Studio中启动Android Device Monitor: Tools -> Android -> Android Device Monitor. (1).选择你要调试的进程。 (2).点击start mothod profiling,待图标变黑。 (3).选择sample base profiling

    2、使用android.os.Debug.startMethodTracing();和android.os.Debug.stopMethodTracing();方法,当运行了这段代码的时候,就会有一个trace文件在/sdcard目录中生成,也可以调用startMethodTracing(String traceName) 设置trace文件的文件名,最后你可以使用adb pull /sdcard/test.trace /tmp 命令将trace文件复制到你的电脑中,然后用DDMS工具打开

    上面部分是你测试进程的中每个线程运行的时间线,可以选择某一个线程的时间线,观察下面部分显示的对应方法的耗时情况

    TraceView中的指标

    纵轴 TraceView界面下方表格中纵轴就是每个方法,包括了JDK的,Android SDK的,也有native方法的 每个方法前面都有一个数字,是全部方法按照Incl CPU Time 时间的排序序

    打开每个方法,数据分为两个部分

    Parents Children

    Parents表示调用1这个方法的父方法。Children表示方法调用的其他方法。

    横轴

    Incl Cpu Time

    这个方法以及这个方法的子方法一共执行的时间。

    例如:

    public void a() { //代码 b(); c(); d(); //代码 }

    则上面a()方法的Incl Cpu Time为b(),c(),d()以及a()方法内其他执行代码的执行总时间。

    Excl Cpu Time

    这个方法除去其中包含的子方法的执行时间,其他代码执行的时间。

    以上面为例,Excl Cpu Time为Incl Cpu Time的时间减去b(),c(),d()的执行时间。

    Incl Real Time

    和Incl Cpu Time 差不多

    Excl Real Time

    和Excl Cpu Time差不多

    Calls + Recur Calls / Total

    它表示这个方法执行的次数,这个指标中有两个值,一个Call表示这个方法调用的次数,Recur Call表示递归调用次数

    Cpu Time / Call

    表示这个方法每调用一次需要的时间,这个地方就可以分析哪些方法存在耗时操作。

    Real Time / Call 这个方法实际调用一次需要的时间。

    参考文章:

    正确使用Android性能分析工具——TraceView

    Android应用性能检测工具之CPU篇

    欢迎关注微信公众号:DroidMind 精品内容独家发布平台 呈现与博客不一样的技术干货

    转载请注明原文地址: https://ju.6miu.com/read-1200293.html
    最新回复(0)