iOS 主线程卡住几秒钟

标签 ios objective-c ios8 objective-c-blocks freeze

我只在 iOS 8 上看到我的应用程序中的主线程卡住了几秒钟(在以前的 iOS 版本上没有)。
我在许多地方使用了 @synchronised (self) 并且还使用了 RemoteIO 设置。我的问题是如何调试主线程阻塞的确切位置并获取其他信息,例如当时正在做什么?

我正在使用 Xcode 6,所以请告诉我最好的调试方法。

编辑:这是暂停的输出。

enter image description here

enter image description here

最佳答案

作为了解正在发生的事情的第一步,我建议您在卡住时在调试器中简单地按下暂停。它将向您显示当时哪个线程在做什么。

您将看到一个仍在执行的任务,或者 msg_trap 行表明某处有锁。

在这里发布你的发现。

关于iOS 主线程卡住几秒钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26210843/

相关文章:

ios - __has_include 检查是否存在针对 swift 的类?

ios - 将 iOS 8 文档保存到 iCloud Drive

ios - 自定义 UIButton Swift 2.0

iphone - 为什么 NSDate 不能使用 < 或 > 进行比较?

iphone - 如何将 UIButton 标题设置为 null 或空字符串

iOS8:可以将 "tableview.rowHeight = UITableViewAutomaticDimension"用于静态单元格吗?

ipad - 为什么 iOS7 中的 UIAlertController 收到 nil 值?

ios - 在 <file>.podspec.json 中找不到 ... 的 podspec

ios - 为什么 1.0 的纹理坐标超出了纹理的边缘?

ios - 有没有办法从 StoreKit API 中的 SKPayment 获取 SKProduct?