大量の画像をローカルにダウンロードする必要があるアプリに取り組んでいます (オフラインで利用できるようにするため)。画像の数は 100 ~ 10,000 です。各画像は 100K ~ 250K の範囲で異なる場合があります
NSOperationQueue を介してこれを行うことができます。これを機能させるコードは既にありますが、この質問は概念的なものです。ここで取るべき最善のアプローチが何であるかはわかりません。
1) ユーザーが初めてログインするとすぐにすべての画像をダウンロードしますか? 画像の数に基づいて、これには長い時間がかかる可能性があり、ユーザーがその間にアプリを閉じた場合はどうなりますか. この場合、バックグラウンド プロセスで費やせる時間に制限があることを理解していますか? 正直なところ、私はバックグラウンドで何もしたくありません(つまり、アプリが閉じられているとき)
2) ユーザーが特定のカテゴリを選択したときに画像をダウンロードしますか? カテゴリに 800 枚の画像がある場合、800 枚の画像すべてのダウンロードが完了する前にユーザーが別のカテゴリを選択するとどうなりますか? いつでもスレッド形式のダウンロードを開始できますが、ユーザーが別のカテゴリを選択した場合、スレッドは引き続き実行されますか?
3)「設定」に何かを入れて、ユーザーが自分で決定できるようにします。「Total Images: 8000」 Images Available : 2000 のようなものと、何が起こっているかの UIProgressView を表示する「Download All」と言うボタン....したがって、ユーザーはおそらくすべてが完了するまで待ちます。
それとも他のアプローチですか?
考え?