我想知道当我从应用切换器中移出正在运行的应用时,我的AppDelegate中的哪个事件被调用了?我的目标iOS是> = 7.0(即支持多任务处理)。
也许我只是不理解多任务范例本身......当我从应用程序切换器中刷出我的应用程序时,该应用程序将被终止,对吧?还是继续在后台运行?
EDIT-1:为什么我要问:在启动应用程序期间,我通过普通套接字连接到我的Linux游戏服务器。我想在应用程序终止时断开套接字。
EDIT-2:我不确定我是否正在使用后台执行。我在运行循环对象中注册我的网络套接字,以异步方式从服务器套接字接收输入。此外,我安装了一种网络服务,定期测试网络连接。此服务正在使用SCNetworkReachabilityScheduleWithRunLoop。
答案 0 :(得分:1)
- (void)applicationWillTerminate:(UIApplication *)application
答案 1 :(得分:1)
有些情况会调用applicationWillTerminate:
,有时则不会。
摘录:
适用于不支持后台执行或已关联的应用 对于iOS 3.x或更早版本,此方法始终在用户时调用 退出应用程序。对于支持后台执行的应用程序,此方法 通常不会在用户退出应用程序时调用,因为该应用程序 在这种情况下简单地移动到背景。但是,这种方法可能 在应用程序在后台运行的情况下调用 (未暂停)系统需要因某种原因终止它。
值得注意的是
调用此方法后,该应用程序也会发布一个 UIApplicationWillTerminateNotification通知给予感兴趣 对象有机会回应过渡。