1

Bundle を介して保存 (onSaveInstanceState) と復元 (onCreate) を実装しました。方向の変更によりアクティビティが再作成された場合は機能しますが、他のアプリがリソースを要求した後にアクティビティが再作成された場合は機能しません。この場合、バンドル内のデータ キーが存在しないことが判明しました。なんで?私は途方に暮れています。

4

1 に答える 1

1

onSaveInstanceState()で保存され、渡された BundleonCreate()は永続的ではなく、アプリの有効期間中の構成変更中およびアクティビティの再作成中に状態を保存することのみを目的として設計されています。

ここで起こっているように、アプリが破棄された場合は、値を永続的な場所に保存する必要があります。SharedPreferences

および を使用onPause()onResume()て保存および復元します。

http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle)

于 2013-04-06T09:24:12.693 に答える