【问题标题】:applicationWillTerminate and background: terribly confusedapplicationWillTerminate 和背景:非常困惑
【发布时间】:2011-03-14 05:37:38
【问题描述】:

我知道实际上在 iOS4 中不再调用 applicationWillTerminate。但是我有这种情况:

  • 我的有声读物进入后台模式并继续播放音频;
  • 在 SDK 3.x 版本之前,我将收听 MP3 文件的位置保存在 applicationWillTerminate 中;
  • 现在我被告知要在 applicationWillTerminate 中保存此保存(对于 iPhone 3G)并在 applicationDidEnterBackground 中实现相同的方法:但这不会保存用户最后的位置,只是他进入后台时的位置.. .

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

ApplicationWillTerminate 在出现内存问题时被调用,但我真的不知道当用户自己关闭应用程序时会发生什么。

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

我真的很困惑……

感谢您的帮助!

【问题讨论】:

    标签: iphone audio multitasking


    【解决方案1】:

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

    一个更好的选择是让音频播放器对象本身在它被中断时触发保存,例如[AVAudioPlayerDelegate audioPlayerBeginInterruption:] 或类似的。这可能需要一些额外的工作,但它可以保证播放位置总是被保存,无论中断的原因是什么。

    【讨论】:

    • 使用音频播放器的中断似乎是捕捉这一点的好主意。 +1,很好的答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 2013-11-05
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    相关资源
    最近更新 更多