現在、使うリストの絞り込み条件をインスタンス化しないクラスのstaticフィールドに入れて管理しています。
そこでふと思ったのですが、staticフィールドの寿命ってどこまで持つのでしょうか?
javaの基本的な仕組みとして、「何者からも参照されないオブジェクトは破棄され、
それが使っていたメモリはガベージコレクタの対象になる」というものがありますよね?
ところがstaticフィールドはインスタンスに関連づかないので、この理屈で行くと
「常に参照され続けている」値ということになります。
となると「アプリが起動している間」なのかとも思ったのですが、ちょっと「?」な現象があります。
以前リストそのものをActivityのstaticフィールドに格納していたことがあり、
リストがnullの場合にネットワークから読み込み直す、という仕組みにしていたのですが、
一旦アプリを終了して起動し直すと、大体はリストがnullではない挙動をしていました。
(ちなみにタスクキルの動作をすると即座にnullになる模様)
となるとアプリやActivityと結びついているわけではない・・・と、よくわからなくなってしまいました。
この辺り詳しい方がいらっしゃいましたら、教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/02/24 13:28