我正在查看我的应用程序在运行时创建的调试文件,并看到一个奇怪的行为:应用程序用于NSURLConnction
从服务器检索一些数据。连接已启动,然后用户可能通过按下主页按钮将应用程序移动到后台(application:willResignActive
并application:didEnterBackground
调用了方法)。我可以看到application:didEnterBackground
调用后在我的代码中处理了连接。(委托的被称为之后connectionDidFinishLoading
)。在执行过程中我执行了一些操作,但此时应用程序可能已挂起并且未调用代码。然后在将近 12 小时后,用户再次启动应用程序(它没有终止,而只是在后台)并且代码从它停止的同一点继续运行,甚至在之前NSURLConnection
application:didEnterBackground
connectionDidFinishLoading
application:willEnterForeground
并被application:didBecomeActive
调用)。它会做场景吗?在应用程序进入前台之前运行的部分代码改变了我的应用程序内部状态并导致奇怪的行为。
任何想法如何解决它?