2010-05-20 79 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的玩。嘗試重新啓動手機,看看是否有幫助。

相關問題