2

有时,我的一个应用程序在复杂视图中拖动对象时会出现 2-10 秒的延迟。在某些情况下,延迟足以导致等待光标(旋转的死亡披萨)出现。

Time Profiler 没有显示什么特别值得注意的东西——只是在拖动对象时更新视图的预期绘图调用。(这是大量计算,但我发现暂停期间和暂停之间的配置文件没有明显差异。)

内存分析器显示暂停没有什么特别之处。在整个拖累过程中,分配似乎持平。泄漏是干净的。(我最初的假设是我剥离了太多自动释放的对象,但这似乎不是问题。)

活动监视器表明,在拖动过程中,我几乎用完一个核心来进行所有重绘。这就是我所期望的。

关于下一步该往哪里看的任何想法?

4

1 回答 1

0

唔。好吧,也许您可​​以尝试在启用“记录等待线程”的情况下运行 Instruments.app。这将向您显示代码正在等待和运行的位置。您可能正坐在信号量中或做一些 IO- 会以这种模式显示。

仪器

于 2013-03-06T09:17:59.263 回答