0

たとえば、 A からアクティビティ B を呼び出し場合 Android システムはアクティビティ A の状態をどのように保存しますか? メソッドを使用して保存されますか?もしそうなら、アクティビティAが復元されたとき、アクティビティAの状態を復元するために呼び出されるメソッドのシーケンスは何ですか. . しかし、アクティビティ A の状態はどのように復元されるのでしょうか?onsaveinstancestate()Onpause()OnStop()onRestart()

4

2 に答える 2

2

この画像は、すべての活動ステータスを示しています

ここに画像の説明を入力

このリンクは、情報を保存する方法と、アクティビティが復元されたときに情報を取得する方法をよく説明しています。


protected void onCreate (Bundle savedInstanceState)

アクティビティの開始時に呼び出されます。これは、ほとんどの初期化が行われる場所です。 パラメータ savedInstanceState アクティビティが以前にシャットダウンされた後に再初期化されている場合、このバンドルには で最後に提供されたデータが含まれ onSaveInstanceState(Bundle)ます。注: それ以外の場合はnull.


protected void onRestoreInstanceState (Bundle savedInstanceState)

このメソッドはonStart()、アクティビティが以前に保存された状態から再初期化された後に呼び出されます (ここで を参照) savedInstanceStateほとんどの実装は単に onCreate(Bundle) を使用して状態を復元しますが、すべての初期化が完了した後にここで行うか、サブクラスがデフォルトの実装を使用するかどうかを決定できるようにすることが便利な場合があります。このメソッドのデフォルトの実装は、以前に によって凍結されたビュー ステートの復元を実行しonSaveInstanceState(Bundle)ます。

于 2013-02-06T19:20:40.097 に答える
0

そうではありません。あなたがやる。onPause() を使用して、アプリケーションの状態を書き込みます。onResume() で復元します。環境設定を使用して、変数値を保存およびロードします。

于 2013-02-06T19:26:15.613 に答える