我的一个应用程序有时会在复杂视图中拖动对象时遇到2-10秒的延迟。在某些情况下,延迟足以导致等待光标(旋转死亡的比萨饼)出现。
Time Profiler没有显示出任何非常显着的信息 - 只是在拖动对象时预期的绘图调用更新视图。 (这是很多计算,但我发现在暂停期间和暂停之间没有明显的差异。)
内存分析器显示暂停没有什么特别之处。在整个拖累过程中,分配似乎持平。泄漏很干净。 (我最初的假设是我剥离了太多自动释放的物体,但这似乎不是问题。)
活动监视器表明在拖动过程中,我几乎耗尽了一个核心用于所有重绘。这就是我的期望。
关于在哪里寻找下一步的想法?
答案 0 :(得分:0)
嗯。好吧,也许您可以尝试运行Instruments.app并启用“记录等待线程”。这将显示代码等待和运行的位置。您可能正坐在信号量中或做一些IO-将以此模式显示。