有没有人知道我的应用程序是否冻结我必须检查什么?我的意思是,我可以在 iPad 屏幕上看到该应用程序,但没有按钮响应。当我单击按钮时,我尝试过调试代码,但我还没有看到任何东西。我正在阅读有关 Instruments 工具的信息;具体如何使用它们?
有谁能够帮助我?我只需要解释如何使用这些工具。
有没有人知道我的应用程序是否冻结我必须检查什么?我的意思是,我可以在 iPad 屏幕上看到该应用程序,但没有按钮响应。当我单击按钮时,我尝试过调试代码,但我还没有看到任何东西。我正在阅读有关 Instruments 工具的信息;具体如何使用它们?
有谁能够帮助我?我只需要解释如何使用这些工具。
最佳答案是正确的。您可以使用“暂停”选项进行调试。阻塞主线程的最常见方法是调用dispatch_sync
您调度的同一线程。有时您从dispatch_once
.
除了暂停和跟踪堆栈跟踪之外,我认为还有一件事要做,就是检查代码是否有任何导致应用程序冻结的循环。
我最近遇到了类似的问题,但堆栈跟踪并没有太大帮助,我发现在调用reloadData()
内部 layoutsubviews 方法时我有一个永恒的循环,这导致了没有错误的冻结,也没有仪器的帮助。
我的项目中有类似的情况,原因是另一个开发人员添加了setNeedsLayout()
内部方法layoutSubviews()
,这会导致无限循环并冻结应用程序。
同样的问题发生在我的 ios 13.4 上,然后我尝试了上述解决方案,但没有解决,所以我尝试在编译时有一个带有中断约束的元素。因此,在解决约束后,我尝试解决了我的问题。
我建议检查你的尺寸,特别是在集合视图中,如果它们不合适,它们会冻结你的应用程序并检查你的约束