0

当我按下“主页”按钮时,应用程序调用- (void)applicationWillResignActive:(UIApplication *)application,好的,但是当我等待一段时间(10-15 分钟)时,应用程序从第一个加载屏幕开始,为什么?我已经添加了:

[UIApplication sharedApplication].idleTimerDisabled = YES;

但不是成功。我认为它进入暂停模式,我该如何防止这种情况?谢谢。

4

2 回答 2

2

这意味着您的应用程序已被系统杀死。您无法完全阻止它,系统会在需要更多内存时杀死后台应用程序,但您可以执行以下操作:

  • 当应用程序进入后台时尽可能释放内存:这样做,当系统需要内存时,您的应用程序不会成为第一个被杀死的应用程序,因为它的占用空间很小。
  • 由于您不能确定您的应用程序不会被杀死,请使用状态保存/恢复:链接

编辑:

由于您的应用需要在后台重现音频(如评论中所述),我给您一些额外的建议。

  • 请记住注册您的应用程序后台模式(来自此链接:多任务指南)->“通过在其 Info.plist 文件中包含 UIBackgroundModes 键(带有值音频)”
  • 该应用程序继续在后台工作,因为它正在播放音频,但是当音频暂停时,应用程序也被暂停(这意味着它可以被杀死)。所以,当用户回来时,你必须使用状态保存来恢复它。

另一个摘录:“当UIBackgroundModes键包含音频值时,系统的媒体框架会自动阻止相应的应用程序在移动到后台时被暂停。只要它正在播放音频或视频内容,应用程序就会继续运行在背景。但是,如果应用程序停止播放音频或视频,系统将暂停它。

于 2013-08-28T13:42:53.780 回答
0

您的应用程序已退出。如果你想让它回到你离开的地方,你必须以某种方式保留状态,检查启动,然后恢复状态。

于 2013-08-28T13:42:28.893 回答