【问题标题】:Discarding message for event 0 because of too many unprocessed messages in Xcode 8由于 Xcode 8 中未处理的消息过多而丢弃事件 0 的消息
【发布时间】:2017-01-05 06:07:05
【问题描述】:

每当“丢弃消息”日志出现时,我的应用就会变得无响应。它不会崩溃,但也不会响应触摸。好像所有的触摸处理都停止了 在我的应用程序进入后台后,2~3 分钟后,当我的应用程序进入前台并触摸菜单时,没有响应,然后几分钟后它就开始工作了

【问题讨论】:

  • 你有解决办法吗?
  • 这些消息来自核心位置框架。这意味着 CLLocationManager 不是在主线程上创建的。 Check this link
  • 是不是和app没反应有关?
  • 是的。当它在某个时间后进入后台模式时应用程序将无响应。

标签: objective-c mkmapview


【解决方案1】:

这些消息来自核心位置框架。这意味着 CLLocationManager 不是在主线程上创建的。

是否与应用无响应有关?

是的。当它在一段时间后进入后台模式时应用程序将无响应。

【讨论】:

    【解决方案2】:

    我面临着完全相同的行为。这是我到达这里一段时间后注意到的。

    我的第一个猜测是内存泄漏或者可能缺少一些线程,但是 我用这个answer 注意到我的 CPU 炸了。

    然后我跟踪了使用所有 CPU 的方法,在我的情况下,这是通过正则表达式对 UITextField 的验证。经过一番研究,我意识到我有一个catastrophic backtrack。我改进了我的正则表达式,一切顺利。

    我希望这个答案能帮助到这里的任何人。

    【讨论】:

      【解决方案3】:

      在我的情况下,日志消息是

      [Client] Discarding message for event 23 because of too many unprocessed messages
      

      我发现当我启用某个输出 NSURLSession 下载任务当前进度的断点时会发生这种情况

      当我禁用它时,用户界面会再次开始响应。不过我还没有找到根本原因

      【讨论】:

      • 上述任何解决方案?,我在下载视频时遇到了类似的问题。
      • 没有。找到原因后,我没有做那么多工作。 :)
      【解决方案4】:

      由于太多未处理的消息而丢弃事件 0 的消息。 它只会导致模拟器在真实设备中正常工作的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-20
        • 2017-09-28
        • 1970-01-01
        相关资源
        最近更新 更多