我正在开发需要多个缩略图图像的“照片”类型演示的应用程序的一部分。全尺寸图像很大,每次生成缩略图都需要很长时间,所以我打算缓存缩略图。
创建缩略图后,我很难确定如何最好地将缩略图存储在文件系统上。我能想到几种可能性,但我不喜欢其中任何一种:
- 将缩略图保存在与原始文件相同的目录中,并在文件名中添加 _Thumb(image.png 和 image_Thumb.png)。这会导致目录混乱,我认为性能会成为一个问题,因为一次读取这么多不同的文件要加载。
- 将缩略图保存在自己的子目录中,文件名与原始文件名相同。我认为这稍微干净一些,但我仍在打开许多不同的文件。
- 将所有缩略图保存到缩略图文件中。我认为这通常在 Windows 和 OS X 中完成?我喜欢这个想法,因为我可以打开一个文件并从中读取多个缩略图,但我不确定如何将它们全部存储在同一个文件中并将它们与原始文件相关联。 编辑:我想过使用
NSKeyedArchiver/unArchiver
,但据我所知,只要添加/删除缩略图,我就必须重新创建整个档案。也许我忽略了一些东西? - 编辑将缩略图存储在核心数据/sqlite 数据库文件中。多年来,我听说将图像存储在数据库文件中是一个坏主意,因为性能缓慢,并且可能需要(相对)较长时间才能完成写入操作导致数据库损坏。有没有人有使用这种方式的经验?
关于最佳方法的任何建议?