2012-10-30 67 views
0

我正在創建基於故事板的應用程序,其中每個視圖都有相當多的大圖像。在顯示一些內存警告之後,該應用程序崩潰(不是很多,它通常在10-15分鐘的密集使用之後崩潰)。 我檢查過儀器,它不報告任何單個內存泄漏。此外,分配似乎是合理的(當我加載一些包含非常大的圖像的xib時,我只在遊戲中獲得了1或2個峯值 - 對於iPad視網膜版本,大約爲8mo)。 當我收到內存警告時,我沒有任何可釋放的對象,因爲前一視圖中的所有內容都已被釋放。內存警告和崩潰,但沒有泄漏

我已經看到了類似的問題,但它似乎是與特定的代碼行,這不是我的情況:iOS - App crashing after Memory Warning - Instruments showing no leaks

有沒有辦法迫使xcode的清理被緩存的圖片? 否則,我能做些什麼來防止這些崩潰?

感謝您的幫助!

+0

你可以發佈一些代碼告訴我們你如何發佈圖像? –

+0

檢查圖像的創建和發佈。 CFRelease,CGContextRelease等可能是必需的。 – esh

+0

泄漏不是唯一導致記憶警告的事情。它看起來像純粹從內存消耗中獲得它們。我的第一個雖然將使用大小爲屏幕而不是8MP圖像的圖像。 –

回答

1

我有類似的問題,但我的解決方案在最後很容易: 你應該認爲Iphone就像一輛汽車。一輛汽車在一秒內不能加速到100英里/小時。 Iphone無法在一秒鐘內加載大圖片。所以你必須做的是:你應該縮小圖像的大小,並且如果在一個視圖中有兩個以上的大圖像,只需刪除其中一個或將其放入其他視圖。

如果這不是您的解決方案,請在代碼中查找錯誤並檢查應用程序崩潰的位置。