我已閱讀很多關於低內存警告崩潰的帖子,但我無法解決我的應用程序崩潰的問題。儀器的分配顯示實時字節,範圍從2-7MB。它永遠不會超過7或7.5MB,但仍然是應用程序崩潰。應用程序崩潰與非常低的內存使用情況iphone/ipod
我讀了一些鏈接,它告訴分配和活動監視器顯示不同的內存使用值。如前所述,Allocations將顯示最大7-7.5MB,但活動監視器顯示應用程序啓動時約75MB的使用情況,並且在我使用該程序時,它會開始增加和減少。它會上升到110-120MB,然後降低到75-80MB。
一些鏈接說,看看VM跟蹤器中的髒大小和常駐大小。當我檢查VM Tracker時,髒大小將從30MB開始,並隨着我使用該應用程序而開始增加。它超過400MB。我正在使用約150張圖片,其中約70-80張爲1024x1024尺寸,約35張圖片爲110x110,其餘圖片爲3000x4000張。所有這些圖像最初都是png格式,我已經編程轉換爲JPG + ALPHA並作爲資源添加到應用程序中。每當相應的圖像需要加載時,我將JPG + ALPHA圖像分成16個部分,最後加入它們以獲得原始圖像。我這樣做是因爲當我試圖加載分辨率爲3000x4000的圖像時,內存在Allocations中一直添加到40-45MB,所以使用了這種方法。該方法確保內存永遠不會超過10MB。
所有這些記錄和統計數據均使用模擬器進行測量。
應用程序不會在模擬器上崩潰,但會在實際設備上崩潰。我正在使用iPad2進行測試。
請幫我解決這個問題。我被困在過去的兩天,完全沮喪的看到應用程序崩潰。
搜索'heapshots',這是分配工具的功能。您可以跟蹤在特定時間間隔內獲得了alloc'd和dealloc'd的內存。另外,某些圖像處理方法使用緩存,如'imageNamed'。你也可以用'NSAutoreleasePool'來嘗試,因爲同時在內存中有很多圖像。 – Templar 2012-07-24 13:01:01
崩潰日誌說什麼...? – 2012-07-24 13:11:22
感謝您的回覆@Templar。我在任何地方都使用過NSAutoreleasePool,我正在使用initWithContentsOfTheFile來加載圖像的內容。將試用heapshots並在此發佈結果。 – Srikanth 2012-07-24 13:12:07