私が取り組んでいるアプリのダウンロード マネージャー機能の構築に取り組んでいます。要件として、最大 3 つの並列ダウンロードをサポートする必要があります。同じデリゲート オブジェクトを使用して NSURLConnection オブジェクトの複数のインスタンスを作成するこのフォーラムのコード例をいくつか見ました。このアプローチの欠点 (私は間違っていると思います) は、デリゲート オブジェクトへのすべてのコールバックが同じスレッドで発生することです。これにより、パケットがスレッドのキューに入れられます。ここで何か不足していますか?
NSInvocationQueue を実行し、別のスレッドで個別のダウンロードを開始して効率を高めるなど、この機能を実装する他の方法はありますか。このアプローチでは、各ダウンロードの進行状況の追跡、ダウンロードの一時停止/再開、およびスレッド管理が非常に複雑になります。
明らかな理由から、個々のスレッドで非同期リクエストを作成し、同期接続を維持しないことを計画しています。また、100 MB を超える大きなビデオ ファイルをダウンロードし、ファイルに直接保存しています。パケットがどのようにキューに入れられ、メモリが不足するのか、それともメインスレッドが応答しなくなるのか、少しわかりません。
ポインタやヘルプは大歓迎です。
ありがとう