AndroidのContextの概念について
Contextとは?
Contextとはアプリケーション全体の情報を保持するActivityのスーパークラスです。
アプリケーション全体の情報とは、具体的には以下の通りになります。
- Applicationのクラス、Applicationレベルのオペレーション情報
(Activityの起動状態、Broadcast、Intentの受信状況など) - アプリ全体の情報を管理し、何から起動されたか、
現在の状態から何にアクセスしようとしているか等の情報
ActivityのContextとApplicationのContextの違い
- ActivityのContext
- thisでよく使われます。これはActivityがContextクラスを継承している為です。
- ライフサイクルがActivityに依存します。
従ってActivityが破棄される際にContextも破棄しないとメモリリークします。
- ApplicationContext
- ライフサイクルがApplicationに依存します。
- Applicationに依存するクラス、複数のクラスから呼ばれたりする場合に使用すると良いでしょう。
スポンサーリンク