2010-05-20 84 views
6

我的应用程序有一个线程,耗时超过一分钟,并且该应用程序消耗大约6.8MB的内存。我在某段时间后收到内存警告,然后死亡。没有什么是我可以发布的,而且我甚至没有使用7MB内存......让我发疯......有什么建议吗?我的iPhone应用程序获取内存警告并在6.8MB时死亡

+0

使用调试器或内存泄漏工具。 http://stackoverflow.com/questions/172125/avoiding-finding-and-removing-memory-leaks-in-cocoa – 2010-05-20 16:55:16

+0

此外,请确保您在设备上进行测试,而不仅仅是模拟器。 – rickharrison 2010-05-20 17:29:23

+0

我正在设备上运行它;在模拟器上我不会得到记忆警告,除非我模拟它。当应用程序死亡,gdb说这... 程序终止与信号0,信号0. 因此,这是操作系统谁杀我的应用程序。它只占用7MB的内存,而操作系统仍在杀死它!重新启动设备也无济于事,可能是我错过了什么? “泄漏”显示没有泄漏并持续使用6.8MB的内存。 – Abix 2010-05-20 18:19:23

回答

1

我仍然不知道为什么会发生,但现在我找到了解决方法。如果我在主线程上运行它,而不是在线程中运行此作业,则不会收到内存警告,也不会死亡。但之后我无法在UI中显示进度。我打算使用NSTimer来做到这一点。

2

也许你的记忆是超分散的?即使7mb的泄露数据也不应该让你的应用程序失效。你应该有至少20mb的玩。尝试重新启动手机,看看是否有帮助。

相关问题