アプリがバックグラウンドにあるときのダウンロード速度に速度差はありますか.NSURLSessionを使用して、バックグラウンドで一連のファイルをダウンロードしています.また、サンプルを確認したところ、3つのファイルがダウンロードされているため、アイテムのダウンロードを1つに制限できますか.何か案は?
1 に答える
はい、バックグラウンド転送では速度に違いがある場合があります。その速度差がどうなるかを知るのは難しいです。アプリがバックグラウンドになると、NSURLSession バックグラウンド デーモンがダウンロードを管理して、他のデータ転送、ネットワーク状態 (Wi-Fi やセルラーなど)、デバイスの利用可能なバッテリー寿命など、いくつかの要因に応じて効率を最大化します。 .
WWDC 2013 セッション 705 ビデオ「What's New In Foundation Networking」を見ると、「バックグラウンド転送」セクションで約 33 分にわたって簡単に説明されていることがわかります。(バックグラウンド転送に興味があるなら、このセクションは一見の価値があります。バックグラウンド ダウンロードを行うアプリの完全な例が含まれています。)
フォアグラウンド転送はより高速になる可能性があります (アプリをフォアグラウンドに保持することで、関連するネットワーク転送が他の何よりも重要であることを iOS に効果的に示唆しているためです)。
HTTPMaximumConnectionsPerHost
同時転送の数を制限するには、おそらく のプロパティを調べる必要がありますNSURLSessionConfiguration
。Ray Wenderlich NSURLSession tutorialに設定例があります。