簡體   English   中英

將文件存儲在文件系統與核心數據中

[英]Storing Images in file system vs. Core Data

我目前正在開發一個iOS應用程序,我允許用戶將照片庫中的圖像添加到應用程序中。 我將這些圖像存儲在設備文件系統中,並在需要時訪問它們(當它們位於UIScrollView中時,我可以經常訪問它們)

我只是想對這種方法有所了解。 我應該繼續使用文件系統方法,還是將這些I圖像存儲在CoreData中是有益的。

對此有任何建議將不勝感激。

謝謝。

我不認為Core Data真的是為了存儲這種類型的數據而設計的。 這樣做在道德上等同於將圖像數據存儲到SQL /關系數據庫中,這也不是理想的。

我有一個類似的情況,我有一堆圖像存儲在硬目標位置(我的圖像列表永遠不會改變,所以我只是將它們全部包含在應用程序包中)與核心數據存儲,其中包含大量有關圖像的元數據。 我保留在圖像本身的核心數據中的所有內容都是文件名,然后在運行時最終時間查看圖像時將完整文件路徑混合在一起。 滯后時間或延遲沒有任何問題。

即使我沒有在UIScrollView中顯示圖像,我仍然認為從Core Data存儲中獲取圖像信息數組並在生成單元格時動態生成完整文件路徑幾乎沒有問題,因為這些只是字符串和生成UIImage的代碼非常緊湊。 那個或生成相同的信息數組,然后在生成任何單元格之前編譯圖像路徑數組,就像UIScrollView即將出現時一樣。

您應該將文件系統方法用於大於縮略圖的任何內容。

首先,如果您存儲在Core Data中,則必須存儲它具有數據或可轉換屬性。 在任何一種情況下,您都有一個額外的步驟來轉換為圖像。 如果存儲文件,則可以直接使用UIImage加載文件。

然而,主要的問題是內存使用,故障圖像不會像UIImage那樣從內存中清除。

更新2012-9-20:這個答案現在已經過時了。 Core Data沒有自己的系統來存儲大量數據,例如外部文件中的圖像。

我認為將它們放入核心數據會很慢。 文件系統會更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM