我只在 iOS 8 上看到我的应用程序中的主线程卡住了几秒钟(在以前的 iOS 版本上没有)。
我在许多地方使用了 @synchronised (self)
并且还使用了 RemoteIO 设置。我的问题是如何调试主线程阻塞的确切位置并获取其他信息,例如当时正在做什么?
我正在使用 Xcode 6,所以请告诉我最好的调试方法。
编辑:这是暂停的输出。
最佳答案
作为了解正在发生的事情的第一步,我建议您在卡住时在调试器中简单地按下暂停。它将向您显示当时哪个线程在做什么。
您将看到一个仍在执行的任务,或者 msg_trap 行表明某处有锁。
在这里发布你的发现。
关于iOS 主线程卡住几秒钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26210843/