traceView文件如何分析

介绍

列名描述
Name该线程运行过程中所调用的函数名
Incl Cpu Time某函数占用的CPU时间,包含内部调用其它函数的CPU时间
Excl Cpu Time某函数占用的CPU时间,但不含内部调用其它函数所占用的CPU时间
Incl Real Time某函数运行的真实时间(以毫秒为单位),内含调用其它函数所占用的真实时间
Excl Real Time某函数运行的真实时间(以毫秒为单位),不含调用其它函数所占用的真实时间
Call+Recur Calls/Total某函数被调用次数以及递归调用占总调用次数的百分比
Cpu Time/Call某函数调用CPU时间与调用次数的比。相当于该函数平均执行时间
Real Time/Call同CPU Time/Call类似,只不过统计单位换成了真实时间

1.使用方法(代码精确分析)

   Debug.startMethodTracing("ormLite");
   queryAll(null);
   queryColumn(null);
   Debug.stopMethodTracing();

2.运行会在sd卡根目录生成ormLite.trace文件,pull出来

3.打开android device monitor
file->open File打开刚生成的trace文件

分析

总预览

首先打开incl cpu time 为100%的行,点击最外层0(topLevel)
这里面是消耗时间方法的预览

发现
queryAll(null);占74%
queryColumn(null);占16.7%
其它占比9.3%

底下为运行到的所有方法及其运行时间;因为子父方法混合在一起展示,父运行时间等于所有子方法运行时间之和。

单个方法分析

parents:调用这个方法的方法
children:它调用到的子方法,里面方法时间相加为这个方法消耗的时间,经测验过都是主线程消耗的时间。与直接打开筛选mainThread时间一致

説明

  • ddms打开的
    图1
    Incl Real Time为真是运行的时间,与在代码中打log的时间想一致,
    androidStudio直接打开的

  • androidStudio打开
    图2
    同一个方法里面,视图在同一行上,且以代码先后顺序,从左往右排列,时间短的可以放大看到

  • 因为加入了traceView之后影响性能,所以traceview只能作为参考,给出可疑点,实际以去掉之后打日志计算的时间为主

其它

直接用androidStudio打开的只是简化版的

参考文档

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

Android性能调优工具TraceView介绍

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值