0

onPause()イベント中にSharedPreferencesにキーを保存しようとしていますが、これは、アクティビティを終了するときとアクティビティに戻るときの両方で呼び出されます。

したがって、アクティビティに戻ると、値がゼロとデフォルト値で上書きされ、oncreateメソッドのメソッドは、このために期待したように応答しません。

おそらく私はAndroidのライフサイクルを誤解しているかもしれませんが、ライフサイクルグラフを十数回見たことがあり、私のプログラムは期待どおりに動作しません。

洞察に感謝します。

4

2 に答える 2

1

私の経験から、一部のデバイスは、アクティビティのイベントライフサイクルについて完全に理解していません。

私が見つけた唯一の解決策は、アクティビティをライフサイクルからできるだけ独立させることでした。onPauseから戻ったときに、新しいアクティビティを作成するためだけにアクティビティを破棄するデバイスを見てきました。それがあなたのケースではないかどうかをおそらくチェックする必要があります。

デバイスのAndroidテストは、この分野で多くを欠いているようです。

于 2011-10-11T15:39:23.147 に答える
0

アクティビティのライフサイクルに従って、onPause()はonResume()の後とonStop()の直前の両方で呼び出されます。したがって、onPause()で行うことはすべて、2回実行されます。しかし、私の経験では、一部のデバイスはonStop()の前にonPause()をスキップすることがあります。したがって、Pause()だけに依存することはありません。onCreate()またはonResume()に適切な条件でコードを記述することをお勧めします。

より明確にするために、ここにコードを入れてください。

于 2017-11-22T12:11:28.290 に答える