ホーム >  Android > Contextとは

Android -Contextとは-

Contextとは

-----以下、不確かな情報が含まれています。-----

アプリケーション環境に関するグローバルな情報へのインタフェース

Contextクラス通して、アプリケーションのリリース、クラス、アプリケーションレベルの オペレーション(アクティビティの起動、ブロードキャスト、インテントの受信など)にアクセスする ことができます。

アプリ全体の情報を管理し、何から起動されたか、現在の状態、何にアクセスしょうとしているか等の情報を受け渡すために 使用されます。

Contextにアクセスするには、getApplication()、getContext()、getBaseContext()が使用できます。
Activityを継承してるクラス内では、Context取得にthisを使用できます。

ActivityとServeceはContextクラスを継承しているので、Contextメソッドを利用できます。

ActivityのContextとApplicationのContextの2つの違い

  • ActivityのContext(this)
    Activityに関連していて、Activityが破棄される時(画面の回転等)、Contextオブジェクトも同様に何度 でも破壊されて、何度でも作成されます。
    そのため、その場限りで作成、破棄される場合は、getContext()、thisを使用した方がよいと思われます。
  • ApplicationのContext
    アプリケーションに関連していて、アプリケーションのライフサイクルに関わらず、同じContextオブジェクトである。
    そのためstaticな参照をしている場合は、getApplication()を利用した方がよいと思われます。

自分なりのContextのイメージが下記サイトと同じでしたので参考にさせて頂きました。
http://individualmemo.blog104.fc2.com/blog-entry-41.html