Android Eclipse:Traceview,我只是不明白
||
我只是没有获得traceview输出的各种元素,也找不到教程。有人可以参考下图解释以下内容:
条的宽度对应于该功能花费的时间。高度对应什么?
包含与排除之间有什么具体区别。我以为包容性包括所有子函数的调用?
这是真的吗:(每个调用时间乘以调用次数)的总和=程序运行的时间(异步任务又如何?)
在调试主线程的速度减慢时,可以忽略异步任务吗?
Excl%中的所有百分比之和是否等于100%?
有缝隙时(黑色中间为白色)会发生什么?是在其他Android进程正在运行时,还是只是您自己的异步任务(看起来其中一个的差距与另一个中的填充部分对齐,如果这样的话,那么将密集型任务转移到AsyncTask就有任何意义了) )?
没有找到相关结果
已邀请:
4 个回复
冕偷淮款
雇砰
,然后重新启动设备。 HRM,因为从技术上讲,我应该帮助回答这个问题: 我对条形的高度的理解是,它与父函数有关。假设a()调用b()。然后a()正在运行,而b()也正在运行。当b()运行时,traceview将显示b \的颜色;但是当a运行时(即排除时间),它将绘制a \的颜色,并且绘制的a \'s bar略高于b \'s bar。至少,这绝对是放大后事物的工作方式;如果单击与较高的条相对应的功能,它将在其附近的小条下方放置括号,表明父级对此负责。父级始终显示为较高的条。 是的:)。包容性是执行该函数或该函数调用的任何事物所花费的时间;独占是“不包括所调用的函数”,并且仅是花费在适当的函数上(或切换到/退出函数所花费的时间)。 仅针对顶层,我认为您暗示了这一点;甚至可以看到@ron的答案-这是CPU使用时间,而不是挂钟时间。 AsyncTasks在主线程中运行,因此将包含在顶级细分中的某个位置。处理程序相同 埃里克回答 不,因为向上/向下取整(即1.87%将显示为1.9%);但是\“ Exclusive \”中的条目总数应加到右上角显示的总时间,该时间与为您的问题计算的时间相同(3) 埃里克回答
辽躺
闯舱酮