ユーザーが待機している間に、潜在的に数百の画像のリストを SD カードにダウンロードしたいと考えています。最大のスループットを得たいと考えていますが、それでも責任あるアプリでありたいと考えています。この回答InputStream
のように、ダウンロードしたデータを保存します。
どのような考慮事項に留意する必要がありますか? 個数制限はありInputStreams
ますか?同時実行性を追加すると、無線電力の使用効率が向上しますか (ほとんどのデータはダウンストリームにあります)。
ユーザーが待機している間に、潜在的に数百の画像のリストを SD カードにダウンロードしたいと考えています。最大のスループットを得たいと考えていますが、それでも責任あるアプリでありたいと考えています。この回答InputStream
のように、ダウンロードしたデータを保存します。
どのような考慮事項に留意する必要がありますか? 個数制限はありInputStreams
ますか?同時実行性を追加すると、無線電力の使用効率が向上しますか (ほとんどのデータはダウンストリームにあります)。
ネットワークを頻繁に使用するアプリを作成する際に効率を上げる方法については、AT&Tサイトの記事をご覧ください。http://developer.att.com/developer/forward.jsp?passedItemId=7200042
また、AROツールを使用すると、アプリケーションでネットワークを効率的に使用し、アプリのパフォーマンスとバッテリー使用量の両方を最小限に抑えることができます。http://developer.att.com/developer/legalAgreementPage.jsp?passedItemId=9700312
AndroidSDKに付属する最近リリースされたAndroidtraceviewツールも、http: //developer.android.com/tools/debugging/debugging-tracing.htmlに役立ちます。
これにアプローチする最善の方法は、実行時のスループットを測定し、同時ダウンロードの数を調整して最高のスループットを得ることだと思います。
さまざまな場所のさまざまなプロバイダーのさまざまなネットワーク接続タイプ (wifi、lte、3g など) によって、最適な接続数が決まります。
したがって、1 つの接続から始めてそのスループットを測定し、次に別の接続を作成して再度測定します。スループットが向上している場合は、低下が見られるまで接続を追加し続けます。