2010-09-29 45 views
0

我正在處理一個需要縮放和旋轉圖像的組件。以下是部分由於UIImage引起的內存警告級別1

的流量選擇從照片庫中的圖像 - >顯示的UIImageView的形象 - >做縮放 - >保存此圖像文件。

這適用於低分辨率圖像。

,但一旦我選擇具有較高分辨率的圖像我第一次得到內存警告級別1.但我水溼釋放的形象,因爲我需要用相同的圖像進一步進行。

我來知道圖像由(寬×高×4)解壓縮,所以如果我選擇的圖像1800 * 1200內存消耗是8.6 MB [還與儀器檢查。

任何人都可以幫我解決這個問題嗎?這會產生2個隊列

  1. 我們可以使用高分辨率的圖像嗎?
  2. 2個UIImageview有兩個高分辨率圖像呢?

感謝,

薩加爾

回答

0

你可以改變你的操作順序位。

選擇從照片庫中的圖像 - >縮放圖像 - >保存縮放後的圖像文檔目錄 - >顯示在UIImageView的縮放後的圖像。

縮放和保存圖像需要時間,所以你的用戶將有一點等待的,他們看到的圖像在你的UIImageView之前。用取消選項顯示活動指示符是個好主意。

我已經使用這種技術與相當大的圖像,它在較舊的設備上工作,而不會引起內存警告。

+0

此外,請注意autorelease池。如果不小心,物體可以保持比預期更長的壽命。 – rpetrich 2010-09-29 05:49:13

+0

感謝機器人的快速回復,但協議是用戶將首先選擇圖像,如果需要,然後他將使用縮放選項來縮放它以適合全屏。所以與此掙扎。 – 2010-09-29 05:49:59

+0

我不清楚你的意思是「縮放以適合全屏」。爲什麼不使用圖像選擇器的能力來選擇圖像的一部分?或者,如果圖像已經比「全屏」大得多,請保存縮小到屏幕分辨率的版本並使用它。它仍會使用比原來少得多的內存。 – 2010-09-29 06:04:00

相關問題