我计划构建一个主要内容为图像的应用程序。基本上,它将有多个菜单使用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