AndroidのAPIでContextを引数に取るものが結構あるが、Activity自体が渡せたり、またActivityからContextを取得するメソッドが複数あって
どれを使うべきか、はたまたgetApplicationで取得できるApplicationもContextを継承していて、どれをつかったらいいの?と悩む。
Activityはアクティビティ単位なので、別のアクティビティに遷移するとContextも変わるApplicationは起動中のアプリに対して1個存在して、Contextも1つ。アプリが生きている間存在する- アクティビティが変わっても同じ内容
Activity#getApplicationContextとActivity#getApplicationをContextとして渡すのは内容的には同じ
getBaseContextは別のアプリとやりとりするとき用
ContextとしてActivityを渡す場合、メモリリークに気をつけること:Avoiding memory leaks | Android Developers BlogBroadcastReceiverを登録する場合には、Applicationに登録するとアプリを超えて生き続けてしまう:Yukiの枝折: Android:引数はthisか?getApplicationContextか?ActivityとApplicationの違い