2011-04-01 48 views
0

我有一個可導入圖像的應用程序。我的應用程序不需要大圖像,所以如果我在一側看到大於512像素的圖像,則調整它大小。石英在大圖像操作期間崩潰

我使用一些圖片大小,我從借來的功能:

http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way

大小調整功能的工作真的很好的大部分時間,但我有我的庫一些大的照片是5616x3744。當我嘗試調整這個圖像的大小時,它有時會在執行CGContextDrawImage()時導致崩潰(大約一半的時間崩潰了,儘管一次我能夠在崩潰之前處理大約20張圖像)。它對於哪些圖像崩潰尚不一致。

我還沒有在模擬器中嘗試過這個功能,但是在連接到調試器的同時,我在iPad上以開發模式運行。當應用程序崩潰時,它將退出調試器,並返回信號「0」。

我想知道是否可能存在內存問題,但是當我使用分配工具運行它時,它在崩潰之前不會超過44meg,並且我的應用程序不會收到內存警告。

調整大小操作只是分配大量的內存,導致內存不足崩潰而沒有首先得到任何類型的警告?

我想我可以限制我的應用程序到更小的圖像,但我想知道爲什麼發生崩潰,以確保它不是隨機的東西,可能會咬我以後。

任何幫助,非常感謝!

謝謝你,羅恩

+0

請注意...我已經做了一些更多的調試,我可以加載10百萬像素的圖像,而且根本沒有任何問題(我連續試了100多次)。當百萬像素數量達到約二千萬像素時,則例程崩潰。 – Ron 2011-04-01 03:31:14

回答

0

我做更多的調試,我認爲正在發生的事情是,OS是殺害我的應用程序分配太多內存。由於它是在單個操作中完成的,所以操作系統沒有機會通知我的應用程序內存不足,只會殺死應用程序。一種iPad甚至無法調整一張2000萬像素照片而不被殺死的情況。希望iPad 3至少有1G內存!我的iPhone4將無問題地拍攝70萬像素的照片。