0

在我的应用程序中,我希望在删除应用程序实例时收到通知。

即使我可以通过谷歌搜索轻松获得我要问的内容,但我找不到任何对我有用的东西。可能是我正在使用的同义词deleting the app instance(当双击 IPad 中的主页按钮时,从屏幕底部显示的列表中删除应用程序,我正在寻找响应该操作而调用的 UIAppdelegate 方法)。

有没有办法知道这一点?

4

2 回答 2

1

这是您的应用程序被用户(从任务栏删除)或系统杀死以回收内存的时候。没有回调。你永远不会被告知它将会发生或已经发生。

于 2013-06-03T10:15:19.640 回答
1

是的。将- (void)applicationWillTerminate:(UIApplication *)application被调用。

当且仅当您的应用程序支持后台任务时,它才会在用户从任务栏中退出应用程序时调用,否则当用户按下主页按钮隐藏您的应用程序时才会调用它。

应用程序将终止:

当应用程序即将终止时通知委托。 - (void)applicationWillTerminate:(UIApplication *)application

参数

应用

The delegating application object.

讨论

此方法让您的应用程序知道它即将被终止并完全从内存中清除。您应该使用此方法为您的应用程序执行任何最终清理任务,例如释放共享资源、保存用户数据和使计时器无效。您对此方法的实现大约有五秒钟的时间来执行任何任务并返回。如果该方法在时间到期之前没有返回,系统可能会完全终止该进程。

对于不支持后台执行或链接到 iOS 3.x 或更早版本的应用程序,当用户退出应用程序时始终调用此方法。对于支持后台执行的应用程序,当用户退出应用程序时通常不会调用此方法,因为在这种情况下应用程序只是移动到后台。但是,在应用程序在后台运行(未挂起)并且系统出于某种原因需要终止它的情况下,可能会调用此方法。

调用此方法后,应用程序还会发布 UIApplicationWillTerminateNotification通知,让感兴趣的对象有机会响应转换。可用性

Available in iOS 2.0 and later.

参考:UIApplicationDelegate

于 2013-06-03T10:19:48.330 回答