- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在查看此页面:Profiling with Traceview and dmtracedump
在“配置文件面板”下,它具有以下文本,引用文本下方的示例分析结果:
The last column in the table shows the number of calls to this method plus the number of recursive calls. The last column shows the number of calls out of the total number of calls made to that method. In this view, we can see that there were 14 calls to LoadListener.nativeFinished(); looking at the timeline panel shows that one of those calls took an unusually long time.
我对这个描述感到困惑。首先,这句话的前两句似乎指的是同一列。那么最后一列实际上包含什么?其次,我不明白我必须查看“时间轴面板”中的确切位置才能看到它“显示其中一个调用花费了异常长的时间”。
你能帮我理解这段文字吗?
最佳答案
首先,同一篇文章告诉我们:
Parents are shown with a purple background and children with a yellow background
所以 LoadListener.nativeFinished 是父函数,它下面的所有缩进行都是子,或者是父调用的函数。
这是文章中配置文件面板的 fragment :
The last column in the table shows the number of calls to this method plus the number of recursive calls.
第一行(parent)的最后一列表示对该函数的调用次数和递归调用次数:14次迭代和0次递归调用,用加号分隔(14+14) .
我觉得这篇文章的作者不小心说了几句话,结果下一行有点困惑:
The last column shows the number of calls out of the total number of calls made to that method.
在父级下方的黄色背景子行中,最后一列实际上并不表示 Calls+Rec。请注意符号的变化 - 使用分数而不是加号语法。对于 LoadListener.tearDown,14/14 表示 LoadListener.tearDown 被父函数调用了 14 次。 LoadListener.tearDown 函数在此跟踪中总共被调用了 14 次,因此 LoadListener.nativeFinished 是此跟踪中唯一调用了 LoadListener.tearDown 的函数。
让我们看看另一行。 (子)函数 View.invalidate 的最后一列的值为 2413/2853。这并不意味着 View.invalidate 被迭代调用了 2413 次,递归调用了 2853 次。相反,它意味着父函数 LoadListener.nativeFinished 调用了 View.invalidate 2413 次。
现在查看第 6 行,您会看到 View.invalidate 被迭代调用了 2853 次,递归调用了 0 次。因此,父函数 LoadListener.nativeFinished 是唯一在此跟踪中调用过 LoadListener.tearDown 的函数。
这是文章中时间轴面板的 fragment :
来自同一篇文章,
The thin lines underneath the first row show the extent (entry to exit) of all the calls to the selected method
请注意在主线程突出显示部分的正下方水平跨越的细括号状粉红色线条。最左边的粉色花括号很短;这些表示对 LoadListener.nativeFinished 的 13/14 调用相对较快完成。最后一个支架 - 最右边的那个 - 比其他任何支架都长得多。这是对“异常长时间”的 LoadListener.nativeFinished 的调用。
关于安卓开发者页面 : understanding traceview profiling example,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9397674/
import java.util.Random; // random class public class MartianBattler { // start of class public
我试图解决 leetcode 中的一个问题——“访问所有点的最短时间”。下面是问题的描述—— 在一个平面上有 n 个整数坐标 points[i] = [xi, yi] 的点。您的任务是找到访问所有点的
当我尝试在两个不同的地方使用相同的函数时,我遇到了一个非常奇怪的段错误。 printTVNode 函数在 main 上工作正常。在主要方面: printTVNode(headTVNode); /* W
这个问题在这里已经有了答案: In C++, why is the address changed when the pointer is converted? (3 个答案) 关闭 6 年前。 我
在我创建和构建我的一些 php 应用程序的过程中,我看到了变量、= 和类名前面的 & 符号。 我知道这些是 PHP 引用资料,但我看过和看过的文档似乎只是没有以我理解或混淆的方式解释它。你如何解释我看
我是 Go 的新手,我正在尝试掌握 panic 函数。 到目前为止,我一直在使用这种类似的语法来处理程序中的错误: func Find(i int) (item, error) { // some
我很确定我对生成器的理解天生就被打破了。所有在线资源似乎都相互冲突,这使得学习体验非常困难和困惑。 据我了解,yield 关键字使当前正在执行的代码块等待一个值,而不是在回调中抛出剩余的代码来执行。所
我经常读到一些编程语言比其他语言更清晰,我多次问自己是否有一种客观的方法来衡量一种语言的清晰度,以便在给定抽象语法的情况下,设计出像这样清晰和人性化的具体语法可能的。也许为此目的存在某种设计模式? 简
当我研究 clone vs dup 时,我尝试复制如下对象: a = {'key1' => 1, 'key2' => {'key3' => 3, 'key4' => 4}}.freeze b = a.
我正在练习使用递归,但有些东西我不太明白。例如,我写了这个简单的倒计时函数,它应该等到一秒过去,然后倒计时到下一秒。 我首先是这样写的: function countdown(sec) { con
问题是 .Net 运行时如何理解使用 Marshal.StructureToPtr 放置到内存中的结构字段,不得由 GC 释放。 在场景下方。 我有以下结构: [StructLayout(Layout
public class Qn { static class Friend { private final String name; public Friend
标题可能不太好,但我找不到更好的标题。 我们有作业要做,但我没有交,因为我听不懂。现在因为结束了,我们得到了解决方案...现在我正在尝试使用解决方案来理解任务,因为尝试理解我们教授的复杂脚本对我来说是
我正在尝试将 Watson 对话应用程序导入到 LUIS 应用程序,我已经将 json 转换为 LUIS 中的等效项,将所有 Watson 实体转换为带有同义词的列表,但是当我尝试将其导入到 LUIS
我正在学习 Java 字节码。我想知道我是否正确理解了这个字节码过程 我还没有完成,但这只是好路的开始.. 00000000 aload_0 // load param1 (String) //
我正在玩弄Future.recover(如果它有任何重要性的话,通过 intelJ 中的 scala 表) import scala.concurrent.Future import scala.co
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度的了解。包括尝试的解决方案、为什么它们不起作用以及预期结果
所以我对 React 比较陌生,对 Javascript 有一些基本的了解。我正在学习本教程,当讲师继续前进时,一切似乎都很清楚,但是当我再次开始阅读时,我无法理解这一点 render() {
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我创建了这个内存类: public class Memory { private final Hashtable data; private final Gson gson;
我是一名优秀的程序员,十分优秀!