私のアプリは多くの画像のダウンロードを扱っているため、ユーザーにとってできるだけ速くしたいと考えています。できれば、イメージをダウンロードしたら、再度ダウンロードする必要がないようにする必要があります。
私の最初の戦略は、すべてを に保存することでしたUIImages
がNSArray
、最終的には大量のメモリ/RAM を消費します。
次にNSCache
、メモリ使用量が高くなりすぎた場合にアイテムを自動的に削除する を使用することを考えました。これに関する私の問題は、アイテムが削除されると、次に必要になったときに画像を再ダウンロードする必要があることです。
NSCache
私の最善の解決策は、それらをスタイルソリューションNSCache
に保存し、アイテムを削除するときにディスクに保存することです(そして、もっと良いものが足りない場合は教えてください) 。したがって、次回必要になったときに再ダウンロードする必要はなく、キャッシュによって削除されたとしても、サーバーから再度取得するよりもディスクから取得する方が高速です。
SDWebImageのようなライブラリ(画像が複数回ダウンロードされないようにキャッシュを使用していると理解しています) がそのようなソリューションを使用するのか、それともNSCache
、メモリ使用量が高すぎる場合に画像が単純に消えてしまう場所に似ているのか、興味があります。再ダウンロードが必要になります。(ただし、アプリの実行が終了したら、それ以上ディスクに残したくありません。)
私はこれを完全に間違って見ていますか?まったく違うことをするべきですか?