Contextってよく使うけども…
今まで、ダイアログ等の引数にcontextを要求されると、条件反射でcontextを打ち込んでいましたが、少しだけ掘り下げてみようかなと思います。
前提としてcontextは、奥が深く完全な理解は難しそうなので、ここでは、Activityで用いるContextとApplicationContextの違いについて触れてみたいと思います。
ApplicationContextとActivityContextの違い
ApplicationContextは、文字通りでアプリ間のライフサイクルと関係していてアプリを起動してから、ずっと生き残って欲しいときに使います。
その為、アプリ間で共有されるローカルデータベースのアクセス等で使われますね。
そして、ActivityContextは流れで分かるかもしれませんが、Activityのライフサイクルと関係しています。その為、ActivityがonDestroy()されると、死にます。
Intentの時に使いますね。
ちなみに、thisもよく使われますが、thisはクラス自体を指します。
勝手な解釈ですが、ActivityContextと同じだと思ってます。
#終わり
軽ーく説明しましたが、何となくパラメータにセットしていたcontextやthisも意味合いを少しだけ具体的に考えると、プログラミングの理解が深まるかもしれません。
手が止まるくらいなら、理解してなくても動くものを実装する優先でいいかもしれないですが、頭打ちになりがちですよね。
なので、今回はcontextを少しだけ掘り下げてみました。
誰かの役に立ちますように…