リソース管理
Version:
日本語翻訳に関する免責事項
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
メモリとCPUの制限により、モバイル アプリケーションはリソースを効率的に使用する必要があります。このトピックでは、Universal Tracker SDKを使用する際にリソース割り当てを最適化するために適用できるリソース管理手法について説明します。
Universal Tracker SDKクラスのリソース管理
Universal Tracker SDKのほとんどのクラスとインターフェースは、純粋な管理対象オブジェクトです。ただし、セッションはネイティブ・リソースへの参照 (ネイティブ・ソケットを使用するHttpClientインスタンスへの参照など) を保持します。
管理対象外リソースを適切に処理するために、セッションはIDisposableインタフェースを実装します。これには次の要件があります。
-
セッションをローカル変数として使用する場合は、usingステートメントで宣言してインスタンス化する必要があります。これにより、Disposeメソッドが正しい方法で呼び出され、メソッドが呼び出されるとすぐにセッション オブジェクトがスコープ外になります。
-
セッションをクラスのインスタンス変数として格納する場合は、IDisposableインターフェイスを実装し、セッション オブジェクトを明示的に破棄する必要があります。
メモ
アプリケーションがHttpClientを確実に破棄するには、セッションをusingブロックでラップします。そうしないと、アプリケーションがクラッシュし、メモリ警告またはToo many open files例外が発生する可能性があります。