1

私が作成しているアプリは、さまざまな URL から大量のデータを取得する必要があります。たとえば、約 200 個の URL があり、それぞれに 50kb ~ 300kb のデータ (画像) が含まれているとします。

現在、私は基本的にこれらの URL 接続をすべて一度に開き、それらが終了したら終了させて​​います。

ただし... NSURLConnection が舞台裏で何をしているのか正確にはわかりません。言うことを許可する NSURLConnection キューを設定したほうがよいでしょうか...一度に5つの接続があり、1つの接続が終了すると、別の接続が開始されますか?

言い換えれば、多数の NSURLConnections をキューに入れ、古い接続が終了したときに新しい接続を開始することには、すべてを同時に作成するのではなく、利点がありますか?

4

3 に答える 3

3

基本的に、それらを一度にすべて開くと、スレッドスケジューラがスラッシングされ、バッチで実行するよりも遅くなり、一度に開くことができる数に制限が設定されます。これを行う最善の方法は、この接続を管理する Network Manager を作成することです。

于 2013-02-22T16:17:54.743 に答える
1

私のわずかな経験と、自分のアプリで観察できたことに基づいて、キューイングが最善の方法であると言えます。NSOperationQueue を見てください (非常に優れたチュートリアルがここにあります)。専用キューで複数の非同期接続を管理するのに役立ちます。

于 2013-02-22T16:21:04.243 に答える