0

首先讓我解釋我正在嘗試做什麼。 我有一個表格視圖,就像一堆「相冊」一樣工作。每個單元格將用戶重定向到相應的集合視圖,我在這裏加載圖像。 現在,我讓使用相機用戶拍攝照片,而我使用的圖像拾取控制器,然後我把它保存在一個屬性是這樣的:將從相機拍攝的圖像保存到NSMutableArray中

[[[Album sharedInstance].albumList valueForKey:@"nameOfFolder"] addObject:info[UIImagePickerControllerOriginalImage]]; 

的「albumList」是的NSMutableDictionary,並且每個鍵(表示一個文件夾)的值都是一個NSMutableArray。在拍攝每張新照片後,我重新加載收藏視圖並將圖片放置在那裏。 但是,正如所料,這樣我會得到一個內存警告,主要是因爲我將原始圖像保存在數組中,我猜。

所以我的問題是,什麼是最好的方式來實現這一目標? 我想過將圖像的URL保存在數組中,然後當我需要它時,我會用URL檢索這些圖像並在集合視圖中顯示它們。 另一個想法是直接將文件保存到文檔中,而不需要數組,但我認爲每次我檢索並顯示圖像時都會有太多處理。

那麼,誰知道我應該採取哪種方法? 在此先感謝!

+0

附加拍攝的圖像數據與他們的鍵,然後將該字典添加到數組中。這是在數組中添加圖像的最佳方式。 –

回答

0

我建議您將相機圖像剪輯爲縮略圖,將原始圖像和縮略圖保存在文檔目錄中。檢索表視圖和集合視圖的縮略圖。檢索圖像視圖的原始圖像以獲取圖像細節。

大圖像可能會降低應用程序的性能,因此請避免使用大圖像並將其顯示在小框中。

順便說一句,從文檔目錄加載小圖像比大圖像快得多。

0

從我的角度來看,您可以直接將圖像保存到文檔中,而不需要數組。您可以開始將圖像保存在後臺線程的文檔中。

這將需要處理時間,但您不會在應用程序中遇到任何內存問題。

-1

創建將是NSMutableArray的副本的屬性,這樣你直接更新數組,但沒有,它不應該創建一個存儲問題的NSMutableDictionary

- (NSArray *)allAlbumList { return [self.albumList copy]; //return [NSArray arrayWithArray:self.listItems];}

相關問題