LoginSignup
0
0

【Android】Contextって何者なん?~Activity Context編~

Posted at

これは、アドベントカレンダーの2日目の続きになります。
そちらがまだの方は、2日目を先に読んでいただけると幸いです。
https://qiita.com/minomusi/items/78693966e99f05af3e00

それでは行きましょう!:writing_hand:

Activity Context

これは、その名前の通りActivityに依存したContextになります。
よってActivityのライフサイクルにより発生、消滅します。
これが重要な観点になります。

Contextの誤用によるメモリリーク

contextの寿命と使用箇所の寿命を考えた時に、
context > 使用箇所の関係になっていると、メモリリークが発生してしまう可能性があります。

具体的には、シングルトンなどのインスタンスでActivity Contextを渡した場合などが考えられます。
上記の場合などは、Application Contextを使用するようにしましょう。

Contextの使い分け関する私の考え

基本的に迷ったら、Application Contextを使えば良いのではないかと考えています。
そうすることで、消滅のタイミングなどを自身で管理しなくて良くなり、考えることが減ります。
ただ、限定的に使いたいなどの場合には、Activity Contextを使用する方が良いと考えられます。

この辺りは、実装を多く経験していくと判断することが可能になってくるかなと思います。

以上でContextに関する記載を終わりにします。
では、また明日〜:thumbsup_tone1:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0