【问题标题】:willEnterForeground randomly restarts appwillEnterForeground 随机重启应用
【发布时间】:2012-02-09 06:10:26
【问题描述】:

我以为我的应用几乎可以发布了,但是这件事让我抓狂了!

在我的 didEnterBackground 处理程序中,我保存了一些图像以缓存并转储我能想到的所有内容,并且操作系统似乎随机转储我的应用程序并重新启动它。它似乎不是很一致。有时它会恢复正常,有时我会重新启动。根据 Allocations,我的 didEnterBackground 中的内存使用量降至 1 或 2 mb 左右。

通过转储所有内容,我的意思是我删除子视图,从数组中删除对象并将大量内容设置为零...这意味着在我的 willEnterForeground 中我必须重新创建一堆内容。

我真的不知道还能做什么。

这里的任何帮助将不胜感激。谢谢!

顺便说一句,这是在 iOS 5 中使用 ARC。

【问题讨论】:

  • 一旦进入后台,您的应用可以随时终止。从您的问题(标题为 willEnterForeground,问题为 didEnterBackground)中不清楚您在哪里遇到问题 - 您应该期望有时,当“返回”您的应用程序时,您实际上是在重新启动它。
  • 抱歉标题/问题的混淆,但我的意思是我的应用程序会安静地进入后台并释放尽可能多的内存,但是有时当我点击应用程序时回来,它重新开始,而不是回到我离开的地方。我不知道为什么。
  • 这是预期的行为。如果你只使用 1k 也没关系,你不能保证你不会在后台被杀一次。下面马吕斯的回答是正确的。

标签: ios crash automatic-ref-counting fast-app-switching


【解决方案1】:

在后台状态下,应用程序总是会被看门狗杀死。无法保证该应用程序始终在后台运行。

要了解有关多任务处理的更多信息,请观看 WWDC 2011 的 Session 320,这里有大量关于多任务处理的信息。

【讨论】:

  • 感谢您的视频。我看了它,我已经做了几乎所有提到的事情,但我有时还是会重新启动。真正令人沮丧的是,很少有其他应用程序像我一样经常重启。有时即使我只显示了一个工具栏,我的应用程序也会重新启动。也许是一些魔法“别杀我,我是个好人”的旗帜?
  • 不,你必须保持低记忆。就这样。其余的发生在所有强大的看门狗身上
猜你喜欢
  • 1970-01-01
  • 2017-10-22
  • 2012-03-25
  • 1970-01-01
  • 1970-01-01
  • 2015-05-28
  • 1970-01-01
  • 2016-08-02
  • 2013-05-09
相关资源
最近更新 更多