当我的应用程序在ios中的后台终止时如何执行代码

T.Z*_*ach 6 background ios

在iOS中,我们都知道有AppDelegate方法applicationWillTerminate,当用户在当前正在运行时(即不在后台)关闭我的应用程序时会调用它.但是当我的应用程序在后台运行时终止(由用户关闭或被操作系统杀死)时,我想做某事(例如保存数据).

PS:我的应用可以在后台运行.

你有什么解决办法?谢谢.

Mas*_*eni 8

对不起,你应该使用applicationWillTerminate:

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

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

因此,如果您需要在用户手动终止应用程序时保存数据,请使用applicationDidEnterBackground在应用程序支持后台模式时调用的数据.