【发布时间】: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