AndroidのContextについて

2015-01-28

AndroidのAPIでContextを引数に取るものが結構あるが、Activity自体が渡せたり、またActivityからContextを取得するメソッドが複数あって

どれを使うべきか、はたまたgetApplicationで取得できるApplicationContextを継承していて、どれをつかったらいいの?と悩む。

  • Activityはアクティビティ単位なので、別のアクティビティに遷移するとContextも変わる
  • Applicationは起動中のアプリに対して1個存在して、Contextも1つ。アプリが生きている間存在する
    • アクティビティが変わっても同じ内容
    • Activity#getApplicationContextActivity#getApplicationContextとして渡すのは内容的には同じ
  • getBaseContextは別のアプリとやりとりするとき用