Xcode Time Profiler 的详细信息面板显示 "main" 是应用运行缓慢的原因,但没有在其中显示单独的方法调用。
Xcode Time Profiler's detail panel shows that "main" is the reason for app's sluggishness, without showing separate method calls inside it.
我创建了一个演示应用程序,该应用程序将多个滤镜应用于图像(它在项目内部)并在 UIScrollView
中显示按钮,并将该图像设置为背景图像。因此,所有逻辑都发生在直接从 viewDidLoad
调用的方法中。我没有使用任何线程机制,所以所有的工作都发生在主线程上。
我正在使用 Instruments
,特别是 Time Profiler
来找出应用程序启动如此缓慢的原因(很明显,但我希望在 Time Profiler
中看到它)。
当我 运行 它时,我在详细信息面板(在根目录中)中得到以下结果:
当我按箭头查看实际代码时,我得到以下信息:
这是针对每个过滤操作的。
面板不应该显示我在其中进行过滤的实际方法吗?
main
函数不是导致您的应用运行缓慢的原因。在您的屏幕截图中,main
的列表显示您在 main
.
中花费了 0 秒
Time Profiler 仪器每秒记录调用堆栈 1000 次。 main
函数是您应用程序的起点。这意味着 main
将在您的应用处于 运行 的大部分时间都在调用堆栈中,即使您的应用大部分时间不在 main
中。 main
函数在调用堆栈上是屏幕截图中出现 649 毫秒和 95.5% 列表的原因。
不用担心 main
函数的列表。您无法控制 main
.
如果您想在调用树中找到您的函数,select 反转调用树和隐藏系统库复选框。选中这些复选框可以更轻松地在调用树中找到您的代码。
我创建了一个演示应用程序,该应用程序将多个滤镜应用于图像(它在项目内部)并在 UIScrollView
中显示按钮,并将该图像设置为背景图像。因此,所有逻辑都发生在直接从 viewDidLoad
调用的方法中。我没有使用任何线程机制,所以所有的工作都发生在主线程上。
我正在使用 Instruments
,特别是 Time Profiler
来找出应用程序启动如此缓慢的原因(很明显,但我希望在 Time Profiler
中看到它)。
当我 运行 它时,我在详细信息面板(在根目录中)中得到以下结果:
当我按箭头查看实际代码时,我得到以下信息:
这是针对每个过滤操作的。
面板不应该显示我在其中进行过滤的实际方法吗?
main
函数不是导致您的应用运行缓慢的原因。在您的屏幕截图中,main
的列表显示您在 main
.
Time Profiler 仪器每秒记录调用堆栈 1000 次。 main
函数是您应用程序的起点。这意味着 main
将在您的应用处于 运行 的大部分时间都在调用堆栈中,即使您的应用大部分时间不在 main
中。 main
函数在调用堆栈上是屏幕截图中出现 649 毫秒和 95.5% 列表的原因。
不用担心 main
函数的列表。您无法控制 main
.
如果您想在调用树中找到您的函数,select 反转调用树和隐藏系统库复选框。选中这些复选框可以更轻松地在调用树中找到您的代码。