Androidのバンドルの説明は言う:Android Bundle = .NETセッション[]?
バンドルには、プログラムの状態を維持して渡すのAndroidの方法です。システムは、(アクティビティの集まりを特徴とする)任意のプログラムがいつでもプリエンプトされる可能性があり、システムリソースが低い場合にはその後殺されることが想定されることを前提として構築される。この問題を処理するには、アクティビティがプリエンプションされるたびにicicleと呼ばれるバンドルが保存されます。
ハッシュテーブルや辞書と同様に、バンドルに追加されるアイテムには、後でデータを取得するためのキーが与えられます(getCharacter(String key)やgetParcelable(String key)などのデータ型固有のメソッドを使用します)。アクティビティを作成するときは、重要な状態情報をonFreezeに与えられたicicleに保存して、一時停止中にkillされた場合にonCreateでプログラムを復元できるようにしてください。
バンドルは.NETのSession []と同じですか?
したがって、バンドルは辞書のようなデータを保持します。 OK。それはどれくらいの間それを保つのですか?アプリが殺されるまでは?システムがリブートするまで、より長い?永久に? – sandalone
アクティビティの開始または再開時に、バンドルがパラメータとしてアプリケーションに渡されます。何らかの理由でアプリケーションが中断された場合は、onSaveInstanceStateメソッドでバンドルに追加します。バンドルは、onRestoreInstanceStateを使用して再起動すると、再び渡されます。プロセスが強制終了され再起動されると、新しいバンドルが使用されます。要するに、あなたのアプリケーションが実際に生きている間、バンドルは "生きている"だけであり、アプリが殺されると失われます。永続データが必要な場合は、Shared Preferencesを使用します。 – tribe84
今私はそれを得る。感謝! – sandalone