0

当我从主页按钮失去焦点后重新打开我的应用程序时,我遇到了一种奇怪的行为。在模拟器上,应用程序屏幕会黑屏 5 秒或更长时间,然后才能恢复应用程序。在测试设备上,应用程序要么进行长时间的延迟,要么完全退出并重置为启动状态。我已经将 NSLog 调试注释放在“applicationWillEnterForeground”和“applicationDidBecomeActive”中,但这些仅在长时间延迟后才会出现,所以我现在假设这些函数中的任何内容都不会导致这种延迟。

我在我的程序中使用了以下组件: * 一个标签栏控制器 * 2 个计时器,地图工具包 * IP 套接字流 * 24 个视图控制器在情节提要上串在一起。* 不少背景图片和图片按钮

如果我知道程序的哪些部分导致了这个错误,我会很乐意发布代码,但事实上我一无所知。有没有其他人遇到过这种类型的错误?我列出的任何组件是否有导致类似错误的历史?

发现此错误时,我的开发还很遥远,并且在增量开发过程中我没有测试通过主页按钮失去焦点。其他较小的项目(使用套接字和计时器)在相同的测试硬件上没有遇到相同的错误。

我正在使用“applicationWillResignActive”来禁用计时器,并关闭流。我正在使用“applicationDidBecomeActive”重新启动计时器,并重新打开流。延迟发生在“applicationWillEnterForeground”和“applicationDidBecomeActive”运行之前。此外,我尝试禁用启动流和计时器的代码,但这对错误没有任何影响。

我正在使用 xCode4.4.1、ios6,并且专门为 iPad 构建。

4

1 回答 1

0

It's possible that the debugger is playing tricks with your mind regarding when it shows that you hit a breakpoint and the code execution of applicationWillEnterForeground. I suggest you commit your most recent code to source control and start deleting sections one at a time till you see the behavior go away.

于 2013-02-12T03:24:24.613 回答