我有一個巨大的同步過程,在該過程中,我下載並解壓縮400-500 XML
文件,然後解析它。有了這個數據,我將通過RestKit API
創建大量的核心數據對象。在開始時,我有一個內存警告,活動字節爲450mb +,因爲我沒有使用autorelease池,只試圖在最後保存核心數據。設備上的內存警告,而不是儀器
我修正了這個問題,現在頻繁地保存到核心數據並使用@autoreleasepool
塊。當我現在使用樂器運行我的應用程序時,我可以看到活動字節的大小隻有20mb-30mb,總是釋放內存並永遠不會調整大小。該過程正常。但是當我在沒有樂器的情況下啓動應用程序時,在查看文件後,我得到一個Memory Warning
。後來應用程序崩潰。
使用和不使用instruments
工具運行應用程序有什麼不同?爲什麼會以不同的結果結束?
一個區別是,通常使用Instruments進行分析會導致發佈版本的生成,而通過Xcode運行會導致進行調試構建。不知道這可能會如何影響這種情況。 – borrrden
例如,你可以在調試配置中啓用殭屍,但不能釋放配置 – hooleyhoop
傢伙 - 我只是喜歡這個平臺。我只是不知道這些樂器正在使用發佈版本。因爲我的物體很大,所以啓用殭屍是失敗的。當我使用發佈版本時,一切都像魅力一樣工作。請給它作爲答案,以便我可以接受它。你不知道它對我有多大幫助。非常感謝你:) – NDY