web-dev-qa-db-ja.com

iOSアプリで新しいNSURLSessionを作成する必要があるのはいつですか。

クラスとプロトコルのNSURLConnectionファミリで多数の非推奨になったAPIがあるため、NSURLConnectionではなくNSURLSessionを使用するようにチームのアプリを移行しています。その一環として、アプリが新しいセッションを作成する頻度と、存在するセッションを再利用する頻度を決定する必要があります。

Appleのドキュメント、WWDCビデオ、および常識に基づいて、新しいURLリクエストごとに新しいセッションを作成することはお勧めできません。悲しいことに、Appleのドキュメントには、このw.r.tメモリ、CPU、または他の何かを行うことの悪影響があるかどうかは記載されていません。

アプリのフォアグラウンドとバックグラウンドの両方での作業の実行を含む、私のアプリケーションのニーズに基づいて、理論的には、異なるセッション構成があるので、アプリ内のセッションはほんのわずかです。ただし、アプリがバックグラウンドに入ると、バックグラウンド以外のセッションがキャンセルされ、フォアグラウンドに入るときに再初期化する必要があることに注意してください。

アプリが新しいセッションを作成する場合と既存のセッションを再利用する場合のベストプラクティスや推奨事項を知っていますか?標準的な答えは「アプリ固有」であることはわかっているので、「新しいセッションを作成するのはお勧めできないのはいつですか」というよりよい質問でしょうか。

6
RuslanD

構成ごとに1つのNSURLSessionを使用します。これは、単一サーバーへのほとんどの呼び出しが同じセッションを通過することを意味します。

2
Daniel T.