2011-04-27 82 views
0

我有一個啓用了分頁的UIScrollView。所有圖像在開始時加載並添加到UIImageView中,但是由於它是更多圖像,所以我有內存問題,因此如果圖像尚未設置,我決定在滾動時加載下一張圖像。如果我收到內存警告,我將除去當前所有圖像。UIScrollView在將圖像加載到UIImageView時掛起

問題是,如果我滾動scrollview掛幾毫秒。

我使用

UIImage *image = [UIImage imageNamed:@"path/to/image.png"]; 

加載圖像。如果我使用imageWithContentsOfFile方法,它花費更多的時間。

有沒有一種方法可以像默認的Photoapp一樣顯示像素化圖像,直到完全加載?

感謝您提前給出答案。

回答

0
[UIImage imageNamed:] 

爲您緩存圖像,所以這就是爲什麼它比imageWithContentsOfFile更好。由於這些圖像顯示在表格單元中,可能它們不需要那麼大。文件系統上的圖像尺寸是什麼?如果你只是把UIImage放在一個UIImageView中,並依靠它來縮放,我的猜測就是縮放是在你滾動的時候發生的。你可以爲文件系統上的每個圖像創建縮略圖並使用它們嗎?

+0

圖像顯示在UIScrollView中。圖像的分辨率爲960x480(iphone 4 res)並縮小了比例。我認爲使用一個圖像比使用@ 2x添加第二個圖像更容易。創建縮略圖會花費我很多時間。沒有其他辦法嗎? – 2011-04-27 14:54:24

+0

如果您依賴於UIImageView來縮放圖像,那麼無論如何您都有效地在內存中創建縮略圖。滾動時,您不希望發生這種情況。我會嘗試找一些其他時間來執行此操作,例如應用程序啓動。關於像素化的圖像加載,我不知道有什麼神奇的方式來做到這一點。創建一個低分辨率的圖像並首先加載,然後淡入高分辨率。低分辨率版本可能只是縮小的縮略圖。 – ax123man 2011-05-02 12:49:20