我正在處理照片庫應用程序。根視圖是將用戶帶到縮略圖視圖的導航控制器。輕點任何縮略圖都會將用戶帶到PhotoView,它將全屏顯示輕擊圖像。UIScrollView應用程序在設備中崩潰但在模擬器中運行完美
下面是我在我的PhotoViewController做了:
的方法是非常相似ScrollingMadness項目,我發現在github上。
我初始化一個UIScrollView並將其作爲子視圖添加到我的視圖控制器的視圖。設置UIScrollView的一些基本屬性。 將圖像添加到UIImageViews(5個數字)。 將所有這些imageView作爲子視圖添加到UIScrollView。 當對任何圖像執行縮放操作時,將從滾動視圖中刪除除當前圖像子視圖之外的所有圖像子視圖。 當圖像縮小回到最小比例時,所有圖像將被添加回UIScrollView。
正如Apple在示例代碼中所述,我使用TapDetectingImageView委託來創建imageViews並處理觸摸事件。
當我運行該應用程序時,在模擬器中一切工作正常。沒有任何問題。但是當我在設備上運行應用程序時,在滾動到第3或第4張圖像後它會崩潰。在調試過程中,我發現在滾動到第3或第4張圖像後會調用didReceiveMemory警告。 我使用儀器運行應用程序。發生崩潰時,對象分配顯示只有1.5-2MB的分配級別。我相信這個級別的內存使用是非常正常的......對嗎?
任何誰之前經歷過或有任何意見如何我可以擺脫它...這將是我在這個世界上需要的所有幫助。
如果您需要其他信息,請告知我。
PS>其令人沮喪的看到整個應用程序完美的模擬器,但在設備:(
丹尼爾 - 你是像素完美的權利!圖像是1200X1600。我把它們分解爲320x480,就像魅力一樣。 我現在使用的圖像數量是5.但最終我將不得不使用20個圖像。如果你可以請建議如何懶惰的imageViews或關於一次加載3張圖像,如你所說 - 會很有幫助。 放大部分已被照顧。沒有什麼會進出內存。它僅僅是子視圖中內存中已有內容的輸入內容。 感謝您的幫助! – 2009-07-27 17:53:46