パーセル可能なデータは永続的ですか? などの Android ライフサイクル関数で破棄する変数がいくつかありますがonDestroy()
、parcelable に書き込まれたものはどうですか?
最終的には、インテントを介してパーセル可能なオブジェクトの要素を渡したいと思いますが、ガベージ コレクション (Java または dalvik のいずれか) の後でも利用できますか?
ありがとうございました
パーセル可能なデータは永続的ですか? などの Android ライフサイクル関数で破棄する変数がいくつかありますがonDestroy()
、parcelable に書き込まれたものはどうですか?
最終的には、インテントを介してパーセル可能なオブジェクトの要素を渡したいと思いますが、ガベージ コレクション (Java または dalvik のいずれか) の後でも利用できますか?
ありがとうございました
簡単に言えば、はい。パーセル可能なデータは永続的です。
オブジェクトから Parcel を作成すると、基本的に at オブジェクトのシリアル化されたバージョンが作成されます。シリアル化されたバージョンを取得すると、オブジェクト自体をガベージ コレクションすることができ、Parcel は引き続き保持されます (そのハンドルを保持している場合、または Intent を介して送信した場合は OS がハンドルを持っていると仮定します)。 .
別の機会に、パーセルから新しいオブジェクトをインスタンス化すると、元のオブジェクトがガベージ コレクションされているかどうかに関係なく、元のオブジェクトのコピーが作成されます。