2

我试图找出“未能及时恢复”的问题。在我们的一个测试设备(它是具有最新操作系统的 iPhone 4S)中,它经常发生,而在我自己的设备中,它似乎根本没有发生。

无论如何,我得到了一些崩溃日志。我无法追查原因的根源。我知道这个问题可能是

1.当一个进程阻塞主线程太久时。

2.当出现内存问题时。

我认为内存不是什么大问题,因为它似乎发生在用户离开主菜单并返回时。主菜单中没有发生任何事情,因此它可能是一项运行时间过长的任务。

以下是崩溃日志的摘录:

有人可以帮助我或指导我谁可以追踪问题的原因吗?反正有没有关闭看门狗定时器(可能不是吧?)另外,突出显示的线程指的是什么?

  1. 我已经检查了我的 applicationDidBecomeActive 和 applicationWillEnterForeground 以确保那里没有发生任何事情。

  2. 据我所知,此时没有进行同步调用。可达性是否使用同步调用来检查互联网?我该如何检查呢?

  3. 我不会在恢复时进行任何大数据传输。

  4. 我注意到 GameCenter 在恢复您的应用程序时会自动登录或检查登录。有没有办法防止这种情况发生?这可能会导致超时问题吗?

我试着做一个时间档案,但我不明白如何用它来分析。如果你能为此提供一个很好的资源,那就太棒了。

谢谢!!!

4

1 回答 1

1

您当前处于“尝试查找问题模式”。您应该切换到“尝试找出这到底是一个多大的问题”模式。

所以去寻找另一个4S(实际上尽可能多)以排除这是一个特定于设备的问题。如果它发生在所有4S上,应该更容易查明。如果没有,请让其他人检查它,讨论可能的原因。当您陷入死胡同时,对等编程方法通常会有所帮助。

如果问题仅在该设备上,您可能需要检查它是否损坏(或“越狱”),或者可能只需要硬重启(保持电源和家庭 10 秒以上)。

如果它只发生在某些设备上而不是所有设备上,请尝试找出它们的共同点。这可能是语言/区域设置或听写,实际上是用户可能更改的任何类型的设置。如有必要,编写一个记录器,将尽可能多的设置记录到您的(Web)服务器,以便您可以逐一比较设置并快速丢弃那些不同步的设置。

如果只有极少数设备受到影响,您也可以忽略该问题,并希望用户的其他崩溃日志能够揭示问题的关键。

最后,总是可以选择在终止时禁用挂起,而是在按下主页按钮时终止应用程序(就像在 iOS 4 之前一样)。当然,除非应用程序必须在后台运行。

于 2012-07-18T23:06:42.297 回答