バックグラウンド転送エージェントを使用して、アプリで使用されるアセット (画像、オーディオなど) をダウンロードする Windows Phone 8 アプリを構築しています。アプリをダウンロードする一般的なシナリオは、次の要素で構成されます。
- 600個の個別アセット
- 合計 35Mb のアセット
- ほとんどのアセットは小さい (< 100k) ですが、大きなもの (>100k および <8Mb) もあります。何が大きくて何が小さいかを 100% 確信することはできません
- バックグラウンドでのダウンロードを許可する必要があります (つまり、ダウンロードを開始して終了する可能性が非常に高いです)。
- 非常に多くの個別ファイルをダウンロードするモデルを変更することはできません。
ただし、これにより電話のパフォーマンスが完全に低下することがわかりました。
- CPUはとてつもなく大きな打撃を受けます
- メモリ不足の問題が発生しました
これは、各バックグラウンド ダウンロード (600 個、一度に 5 個ずつ実行するように設定) が個別のスレッドであると思われます。私の質問は; バックグラウンド転送のパフォーマンスを改善する方法はありますか?