10

Android アプリのアプリケーション Context を、アプリの「現在の状態」情報のストレージ領域として使用します。

現場では、アプリが再開して必要なアクティビティの再構築を開始したときにデータがそこにあると予想されるため、この情報が一部の人のデバイスで消えてさまざまな NullPointerExceptions が発生する場合があることがわかりました。

これは通常、ユーザーが「ホーム」を押して何か他のことをした後、最終的にアプリに戻ったときに発生します。アプリは以前の場所に戻ろうとしますが、アプリケーションのコンテキストは以前に保存されたすべての状態情報を不思議なことに失いました (私の場合、いくつかの整数といくつかの文字列)。

これは非常に漠然とした質問であることは承知していますが、アプリケーションが終了していないにもかかわらず、アプリケーションの Context が完全に破棄される場合 (ユーザーが「戻る」を使用してアプリケーションから完全に戻る場合を除く) はありますか?

永続的な状態情報を維持するためのより良い方法はありますか?

4

1 に答える 1

5

はい、ユーザーがしばらくアプリケーションを離れると、アプリケーションが強制終了され、再起動される可能性があります。プロセスとライフサイクルに関するこのセクションを読むことをお勧めします。

状態を永続ストアに保存する適切な場所を見つける必要があります。ほんの数個の整数と文字列の場合、それらが変更されたときにそれらを共有設定に保存するのは非常に簡単です。データ ストレージの共有設定を参照してください。

于 2010-11-09T16:49:03.003 に答える