0

この変更に伴いAndroidのアクティビティインスタンスの状態

super.onCreate(null); 

代わりの

super.onCreate(savedInstanceState); 

を持つことの意義は何ですか、私はそう私のActivityのたびに設定を悩ます多くの問題を避けることができますよ変更が発生します(ローテーション、ロケールシフト、許可トグル)。この変更により、構成の変更により再起動が発生するたびに、Activityが新たに開始されるようです。そして、私はこれを行うことによってデータやプロセス状態を失うことはないように思われます:すべて私のActivityは元の状態に正確に復元されます。

私の質問は、以後、これを刑事責任として行うことができるのか、それとも契約で何かを失うことですか?私は本当になぜこれが動作するかどうか、それが安全かどうか、そしてそれが私のアプリに及ぼす意図しない影響を理解していません。

私はこのトリックでチャンスを得ましたhere

関連質問:

Calling super.onCreate() with null parameter?

Will 'Bundle savedInstanceState' be alive after Application is being killed?

Activity state instance - insights?

Activity's instance state: what is automatically stored and restored

+0

このスレッドを見る: http://stackoverflow.com/questions/15115975/calling-super-oncreate-with-null-parameter – StefanoM5

答えて

0

savedInstanceStateすべてのAndroidアクティビティのonCreateメソッドに渡されるBundleオブジェクトへの参照です。アクティビティには、特別な状況では、このバンドルに格納されたデータを使用して自分自身を以前の状態に復元する機能があります。

savedInstantStateを使用して、バンドルに保存されているIntentから値を取得することは非常に重要です。

0

私が知る限り、たくさんのデータがバンドルsavedInstanceStateに保存されています。 など。現在のコンテンツ(EditTextまたはCheckBoxなど)の現在のレイアウト内のすべてのビューの状態。

official sourcesを参照して、データを保存する必要があるかどうかを確認することもできます。

Here's a nice article about it

基本的にはすべてのViewクラスは、彼らが状態変化の前にあったすべての一時的な状態を保存し、復元する方法onRestoreInstanceStateonSaveInstanceStateを実装することを言います。

関連する問題