androidには様々なところで出てくるけど、よく悩まされる存在。
API叩くときに渡すContextは、
・getApplicationContext
・getActivityContext
・this
が使われる。
ActivityContextとthisは同義、Activity毎に存在。
割と良く破棄(解放)される。
ApplicationContextはアプリケーション固有の値。
基本はstatic。
Activity内で渡すなら基本は前者を使って、
どうしても静的に保持したいなら後者かな。
で、そもそもContextって何さ!
→アプリケーションのパーミッション、リソース情報にアクセスするためのインターフェース。
(参照:http://yuki312.blogspot.jp/2012/02/thisgetapplicationcontextactivityapplic.html)
うーん、なんだかわかったようなわからんような・・・
今回はとあるAPIを呼ぶ際にgetApplicationContextを使うとnullpoが返ってきて落ちるので、
どうしたもんかと思っていたが、ActivityのOnCreateに処理移動したら普通に動いた。
Bandleわたってこないとダメなのかなぁ?
不明。
0 件のコメント:
コメントを投稿