複数のサムネイル画像の「写真」タイプのプレゼンテーションを必要とするアプリの一部に取り組んでいます。フルサイズの画像は非常に大きく、毎回サムネイルを生成するのに時間がかかりすぎるため、サムネイルをキャッシュします。
サムネイルを作成した後、ファイルシステムにサムネイルを保存するのに最適な方法を判断するのに苦労しています。私はいくつかの可能性を考えることができますが、私はそれらのどれも好きではありません:
- サムネイルを元のファイルと同じディレクトリに保存し、ファイル名に_Thumbを追加します(image.pngおよびimage_Thumb.png)。これはディレクトリを乱雑にし、一度にロードするために非常に多くの異なるファイルを読み取るため、パフォーマンスが問題になると思います。
- 元のファイル名と同じファイル名で、サムネイルを独自のサブディレクトリに保存します。これは少しきれいだと思いますが、まだたくさんの異なるファイルを開いています。
- すべてのサムネイルをサムネイルファイルに保存します。これはWindowsとOSXで一般的に行われていると思いますか?1つのファイルを開いて複数のサムネイルを読み取ることができるので、このアイデアは気に入っていますが、すべてを同じファイルに保存して元のファイルに関連付ける方法がわかりません。 編集:私は使用することを考え
NSKeyedArchiver/unArchiver
ましたが、私が見つけたものから、サムネイルが追加/削除されるときはいつでも、アーカイブ全体を再作成する必要があります。おそらく私が見落としている何かがありますか? - 編集サムネイルをコアデータ/sqliteデータベースファイルに保存します。パフォーマンスが遅く、完了までに(比較的)長い時間がかかる書き込みでデータベースが破損する可能性があるため、データベースファイルにイメージを保存することは悪い考えであると長年聞いてきました。誰かがこの方法でどちらかを使用した経験がありますか?
取るべき最善のアプローチに関する提案はありますか?