每当“丢弃邮件”日志到来时,我的应用程序就会无法响应。它不会崩溃,但也不会响应触摸。好像所有触摸处理在我的应用程序返回地面后停止,并且2~3分钟后,当我的应用程序进入前台和触摸菜单时,没有响应,然后几分钟后它开始剂量工作
我面临着完全相同的行为。这是我到达这里后的一段时间。
我的第一个猜测是内存泄漏或者可能是一些缺失的线程,但是我用这个answer注意到我的CPU爆炸了。
然后我跟踪了使用所有CPU的方法,在我的例子中,它是通过正则表达式对UITextField
进行验证。经过一些研究,我意识到我有一个catastrophic backtrack。我改进了我的正则表达式,一切顺利。
我希望这个答案可以帮助到达这里的任何人。
在我的情况下,日志消息是
[Client] Discarding message for event 23 because of too many unprocessed messages
我发现当我启用某个断点时会发生这种情况,该断点输出NSURLSession下载任务的当前进度
当我禁用它时,UI开始再次响应。虽然我没有找到根本原因
这些消息来自Core Location框架。这意味着未在主线程上创建CLLocationManager。
它与app无响应有关吗?
是。当它进入后台模式后,应用程序将无响应。