Android にはシングルトン クラスがありますが、ガベージ コレクターがそれを解放できるかどうかはわかりません。
ガベージ コレクターがシングルトン クラスの割り当てを解除する場合、割り当て解除を回避するにはどうすればよいですか?
Android にはシングルトン クラスがありますが、ガベージ コレクターがそれを解放できるかどうかはわかりません。
ガベージ コレクターがシングルトン クラスの割り当てを解除する場合、割り当て解除を回避するにはどうすればよいですか?
ガベージ コレクションは、参照が静的でない限り、何も指されていないオブジェクトを収集します。静的フィールドはガベージ コレクション用に開いていますか?
シングルトンを実装する方法はたくさんあります。最高のものの1つは次のとおりです。
public static enum My { SINGLETON; }
何かがシングルトンであるかどうかは、それが GC されているかどうかには関係ありません。強い参照がない場合、オブジェクトは GC されます。調べてください ( http://weblogs.java.net/blog/2006/05/04/understanding-weak-references )。
興味深い問題がもう 1 つあります。Android では、アプリケーションはそのライフサイクルを制御しません。予期しない方法でプロセスが終了し、再作成される可能性があります。その場合、静的最終変数は再初期化されます。詳細はこちら:
http://portabledroid.wordpress.com/2012/05/04/singletons-in-android/
gc がインスタンスの割り当てを解除する唯一の理由は、アプリ全体が破棄された場合です...