本人写了一个activity初始化了一些数据,而在另一个activity改变数据后返回时,发现数据又再一次被初始化,有什么办法可以改变这种情况吗?
初始化数据是在onCreate()
高洛峰2017-04-17 17:36:18
アクティビティ ライフサイクルの内容については、Android の公式チュートリアルで学習することをお勧めします。
URL は https://developer.android.com...
解決策:
OnCreate()
または OnResume()
メソッドの代わりに、Activity の OnStart()
メソッドに初期化操作を置きます。
静的グローバル変数識別子を 0 に設定し、初期化後に 1 に設定し、初期化前に変数が 0 であるかどうかを判断することもできます。ただし、これを解決するには、LifeCycle を理解することをお勧めします。問題。
ライフサイクルの写真を添付します
黄舟2017-04-17 17:36:18
最初の現象は、データが再度初期化されていることです。そのため、解決策は次のとおりです。
1. データが再度初期化された理由を考えます。おそらく、OnResume() でデータを初期化した可能性があります。 , OnStart() メソッド。
2. この問題の原因は、データが複数回初期化されることです。そのため、オブジェクト指向のアイデアを使用して初期化データをカプセル化できます。これは、単一関心モデルに少し似ています。この利点は、複数の実行によって発生する可能性のある問題を解決できることです。
PHPz2017-04-17 17:36:18
Activity
が毎回 destroy
になる場合は、onCreate
に初期化プログラムを入れても望む結果を得ることができません。したがって、まず log
をチェックして、Activity
のライフサイクルを確認してください。
PHP中文网2017-04-17 17:36:18
通常、onCreate はアクティビティが破棄された後にのみ再度呼び出されます。現在のアクティビティの起動モードと別のアクティビティの起動モードを確認します。