Xcode Time Profiler的详细信息面板显示“主要”是应用程序呆滞的原因,而未在其中显示单独的方法调用。

时间:2018-08-02 10:41:30

标签: arrays xcode xcode-instruments

我创建了一个演示应用程序,该应用程序将多个滤镜应用于图像(该图像位于项目内部),并在UIScrollView中显示按钮,并将该图像设置为背景图像。因此,所有逻辑都发生在从viewDidLoad开始被调用的方法中。我没有使用任何线程机制,因此所有工作都在主线程上进行。 我正在使用Instruments,特别是Time Profiler来找出应用启动如此缓慢的原因(这很明显,但是我希望在Time Profiler中看到它)。

运行它时,在详细信息面板(位于根目录)中会得到以下结果:

enter image description here

当我按箭头查看实际代码时,得到以下信息: enter image description here

这是针对每个过滤器操作的。

面板不应该显示我在其中进行过滤的实际方法吗?

1 个答案:

答案 0 :(得分:1)

main功能并非导致您的应用运行缓慢的原因。在您的屏幕截图中,main的列表显示您在main中花费了0秒。

Time Profiler仪器每秒记录一次呼叫堆栈1000次。 main函数是您应用程序的起点。这意味着main在您的应用运行的大部分时间都将位于调用堆栈中,即使您的应用大部分时间不在main中。 main函数位于调用堆栈中是导致屏幕截图中显示649 ms和95.5%列表的原因。

不用担心main函数的列表。您无法控制main

如果要在调用树中找到功能,请选中“反转调用树和隐藏系统库”复选框。选中这些复选框,可以更轻松地在调用树中查找代码。

enter image description here