applicationWillTerminate

applicationWillTerminate

我了解到,实际上在iOS4中不再调用applicationWillTerminate。但是我有这种情况:

  • 我的有声读物进入后台模式并继续播放音频;
  • ,直到SDK版本3.x,我将其中一个收听MP3文件的位置保存在applicationWillTerminate中。
  • 现在有人告诉我
  • 将此保存在applicationWillTerminate中(对于iPhone 3G),并在applicationDidEnterBackground中实现相同的方法:但这并没有保存用户最后的位置,只是保存了他进入背景时的位置...

  • 但是,这是用户从应用程序扩展坞退出应用程序的时刻,或者更好的是被调用的方法?是否存在?

    存在内存问题时会调用ApplicationWillTerminate,但实际上我无法弄清楚当用户自己关闭应用程序时会发生什么情况。

    我再说一遍:applicationDidEnterBackground对我没有帮助,因为当用户进入后台模式时,他可以在这个位置上停留很长时间,以收听有声读物,并且当他再次启动该应用程序时,在关闭后,我的意思是,他会当他进入背景模式时,找到音频文件的位置…

    我真的很困惑...

    谢谢你的帮助!

    最佳答案

    无论音频是否继续播放,都应将播放位置自动保存在applicationWillResignActive:applicationDidEnterBackground:中。然后将另一个保存到applicationWillTerminate中。这样,无论接下来发生什么,都将保存上一个播放位置。下一个事件只是覆盖保存的播放位置以进行更新。

    更好的选择是让音频播放器对象本身在被中断时触发保存,例如[AVAudioPlayerDelegate audioPlayerBeginInterruption:]或类似内容。这可能需要一些额外的工作,但可以确保始终保存播放位置,而不管中断原因如何。

    关于iphone - applicationWillTerminate和背景:非常困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3218951/

    10-11 09:04