iOS 7 应用程序冻结而没有崩溃

Posted

技术标签:

【中文标题】iOS 7 应用程序冻结而没有崩溃【英文标题】:iOS 7 app freezes without crash 【发布时间】:2013-10-21 20:45:55 【问题描述】:

我有一个仅为 ios 7 构建并在 iPhone 5S 上运行的应用程序。该应用程序有时在正常使用中只是冻结并且无法识别发生任何触摸交互,并且需要强制退出该应用程序。我注意到它在执行许多不同的任务和不同的视图。我在调试时遇到了这个问题,RAM 使用率约为 65 Mb,我认为这非常好,cpu 使用率是个位数,调试器没有崩溃。在调试和尝试解决这个非常严重的问题方面,我可以从哪里开始?

【问题讨论】:

你在使用多线程吗?我的钱陷入僵局。使用作为调试器附加的 Xcode 进行冻结并点击暂停。发布主线程和其他的堆栈跟踪。 我遇到了一个小错字***.com/questions/19237374/…的类似问题 我是多线程的,这里是堆栈跟踪:i.imgur.com/Do2lrt5.png 【参考方案1】:

将我的评论作为答案,通常当您的应用程序冻结时,这意味着 CPU 正在做一些繁重的工作,或者您在某个地方出现了死锁。正如你提到的,这是 CPU 使用率低,我的第一个猜测是死锁。

【讨论】:

【参考方案2】:

感谢 Leo Natan 提出这是僵局,因为确实如此。有一个特定的实例,我正在从后台线程保存和获取数据,并且有一个简单的解决方案可以让我停止在后台线程上获取数据。

【讨论】:

干杯,很高兴它有帮助。【参考方案3】:

对我来说,这是一个无休止的 while 循环。通过暂停进程并检查堆栈跟踪找到它。

【讨论】:

以上是关于iOS 7 应用程序冻结而没有崩溃的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Xcode 7 iOS 模拟器冻结?

iOS - 从导航控制器推送时应用程序冻结

UIActionSheet 中的 UIPickerView:UI 冻结

IBM Worklight 5.0.6 - iOS 7 应用程序由于“'[WLPhoneGapDelegate initialize] Can't read checksum.js'”而崩溃

iOS 7 UINavigationbar setTranslucent:没有崩溃应用程序[重复]

ios 应用程序滞后并在 iOS 13 中冻结 iphone 6s/7/8