【发布时间】:2012-02-20 06:23:19
【问题描述】:
我有一个奇怪的情况。我有一个内存相当密集的进程(图像处理)正在运行,但我已经解决了所有的问题,它在 99% 的时间里运行得很好。
但是,如果我将应用程序置于非活动或后台状态,当返回并尝试运行同一进程时,我会收到内存警告,然后应用程序崩溃。
我使用仪器分析了两个用例中的内存占用情况,内存占用情况完全相同。但是,在我不将应用程序置于后台(或不活动)的情况下,它不会给我任何内存错误并且可以正常完成。在将其置于后台(或非活动状态)的用例中,出现内存错误并崩溃。
有人知道这方面的信息吗?我一直在搜索 net / irc / stack over / apple docs 试图弄清楚这一点。从后台返回后,Apple (iOS) 是否会减少我的应用程序允许运行的内存量?有什么办法可以防止这种情况发生吗?还是我忽略了其他更简单的解决方案?
(注意,没有内存泄漏)
【问题讨论】:
-
请将错误信息添加到您的 Q 中。
-
没有错误信息,因为它是导致崩溃的低内存错误。
-
在进入或离开前台/退出/变为活动状态时,您是否在您的应用程序委托方法中做任何事情?
标签: iphone objective-c ios memory memory-management