我計劃構建一個主要內容爲圖像的應用程序。基本上,它將有多個菜單使用UITableViews
,其單元格將只有一個圖像。當你點擊這個單元格時,你將被推到一個帶有該圖像和另一個圖像的簡單視圖,其中有詳細內容的其餘部分。將圖像保存爲核心數據以便在UITableView中使用
這很容易做,我的問題是關於優化。它會有很多的內容(也許1k行),它會在UITableView
顯示圖像,所以核心數據是必須的(因爲它是延遲加載和其他幾種優化)
我的問題是:什麼是最好的,以存儲圖像在Core Data
db(如NSData
)或只存儲圖像的名稱?我想象的是,如果我存儲資源的名稱,對於UITableView
中的每一行,設備必須獲取該圖像,然後處理該圖像,最後顯示該圖像。當滾動它們時(預計會發生很多),我們會有很多提取圖像。如果我將它們存儲在Core Data
中,就像獲取該信息並將它用作圖像的位置一樣簡單。
將圖像存儲在Core Data
中的好處與在數據庫中存儲blob的正常退出一起提供。我不知道核心數據會有多少問題(我在dbs上的經驗主要來自MySQL)
另一方面,我的「常識」強制保存名稱和獲取圖像因爲他們需要更多的時間,如果他們需要更多的時間,我不確定會有多大的表現。有沒有「最好的方式」來存儲它們?只需要名稱,然後撥打pathForResourse:ofType:
或(如果速度更快)mainBundle
上的pathForResourse:ofType:inDirectory:
,請存儲URI或其他形式的指向它的名稱。
編輯:應用程序將具有應用程序隨附的靜態內容,用戶將無法以任何方式修改此內容。 (至少在1.0版本)
這些圖像有多大? – 2012-07-24 18:23:01
相當小,每個上衣20kb?它們是包含文本和符號的圖像,黑白 – Daniel 2012-07-24 19:01:07
如果它們不是太大,我不會太擔心它,除了您可能想要將斑點放在單獨的對象中,以便您可以加載元數據分開。 – 2012-07-25 12:04:58