2017-11-29 7 views
2

私は知っている、おそらくこの質問(異なる解釈で)何度も尋ねられたが、私は私の質問に正確な答えを見つけることができませんでした。アンドロイドは私のシングルトンを殺しますか?

私はAndroidのコンセプトを理解しようとしていますが、不明な点が1つあります。私はAndroidが私のActivityインスタンスを殺すことができることを知っていて、そのインスタンスの内部状態をOnSaveInstanceStateで保存する必要があります。 Androidは後でアクティビティを再作成し、私にオブジェクトBundleを渡すので、自分の内部状態を復元することができます。

しかし、私はFragmentactivityのようなAndroidのものを継承しないプレーンなJavaクラスで何が起こるか分かりません。基本的には、シングルトンパターンを実装する1つのクラスについて話しており、多くのアクティビティ/フラグメントで共有されるデータを格納するために使用されます。

私のシングルトンは殺されますか?私は、設定やデバイスの再起動によってアプリケーションが停止した場合にのみ、そのアプリケーションが強制終了されることを期待しています。長期間のデータはすでにsqliteで保存されています。

答えて

2

私のシングルトンは殺されますか?

処理が終了すると消えてしまいます。

設定やデバイスを再起動してアプリケーションを停止した場合にのみ、そのアプリケーションが強制終了されることが予想されます。

あなたのアプリがフォアグラウンドにないときはいつでもプロセスが終了することがあります。キャッシュまたはプロセスが終了しても不要なその他の情報には、シングルトンのみを使用します。

関連する問題