複数のActivityでgetSystemServiceによりシステムサービスを利用するためのインスタンスを取得する方法


表題のとおり、複数のActivityでgetSystemServiceを使用し、同じシステムサービスのインスタンスを取得したいです。  
Android
Developersサイトの[getSystemService](https://developer.android.com/reference/android/content/Context#getSystemService\(java.lang.String\))を確認すると以下のような記載があります。

> Note: System services obtained via this API may be closely associated with
> the Context in which they are obtained from. In general, do not share the
> service objects between various different contexts (Activities,
> Applications, Services, Providers, etc.)

上記の記載について意味を理解できておらず、現状は以下のどちらかの方法で実装を行えば良いのではと思っています。

  * シングルトンクラスを作成し、その中でアプリケーションのContextを使用してシステムサービスのインスタンスを取得し、各Activityで使用する
  * ActivityごとにActivityのコンテキストを使用してシステムサービスのインスタンスを取得し使用する

システムサービスの正しい使用方法をご存知でしたらご教示頂けますと幸いです。




複数のActivityでシステムサービスを利用するにはアプリケーションコンテキストを使用してgetSystemServiceからサービスを取得することが望ましいようです。

複数のActivityでシステムサービスのインスタンスを取得する場合、Activityのコンテキストを使用するとコンテキストごとにシステムサービスインスタンスのキャッシュを生成してしまうようで、動作に支障をきたすことがあります。

そのため、アプリケーションコンテキストを使用することで窓口を1本化する必要があると理解しました。




複数のActivityでシステムサービスを利用するにはアプリケーションコンテキストを使用してgetSystemServiceからサービスを取得することが望ましいようです。

複数のActivityでシステムサービスのインスタンスを取得する場合、Activityのコンテキストを使用するとコンテキストごとにシステムサービスインスタンスのキャッシュを生成してしまうようで、動作に支障をきたすことがあります。

そのため、アプリケーションコンテキストを使用することで窓口を1本化する必要があると理解しました。

