解释 Xcode 时间分析器
Posted
技术标签:
【中文标题】解释 Xcode 时间分析器【英文标题】:Interpreting Xcode Time profiler 【发布时间】:2014-04-10 17:21:49 【问题描述】:我对我的应用进行了大约 38 秒的分析,并选择了有 UI 问题的 12 秒。在我看来,分析器告诉我,在我选择的 12 秒中,有超过 3 秒用于删除通知观察者。这是解释这些结果的正确方法吗?
【问题讨论】:
为什么不呢?你能展示一下这个操作的深层内容吗 事实证明,数百个 UI 对象被创建、配置并立即丢弃,所有这些都在主线程上。大多数被删除的通知都与UITextView
数据检测器有关。
【参考方案1】:
它告诉你它在 12 秒中花费了 3 秒在做_CFXNotificationRemoveObservers
。
有用吗? 我想你会想知道它为什么这样做,以及它在做什么其他。 它给了你一个非常不完整的画面。
如果您只是在这 12 秒内随机(几次)暂停它,您将使用this technique。 它不仅告诉你程序在你停止它时正在做什么,而且你可以通过阅读堆栈来了解原因。 如果它花费任何时间进行 I/O 或阻塞系统调用,您也会看到。
【讨论】:
【参考方案2】:这是解释这些结果的正确方法吗?
是的,没错——根据您的图片,您的应用正在花费大量时间来移除观察者。
【讨论】:
以上是关于解释 Xcode 时间分析器的主要内容,如果未能解决你的问题,请参考以下文章
错误:在 xcode 时间分析器仪器上分析 iOS 应用程序时无法在设备上找到设备的时间戳
想知道如何在 Xcode 中仅显示地址的仪器时间分析器中知道符号