既存の Parcelable の例はかなり些細なものです。複雑なオブジェクト グラフがある場合、実現可能性を疑問視する次の疑問がすぐに生じます。
- オブジェクトが複数回パーセルに書き込まれるのを防ぐ方法はありますか?
- 書き込み中にオブジェクト グラフの深さを制限するためのベスト プラクティスはありますか?
最初の質問の例を挙げると、オブジェクト A は B を参照し、B は B を参照し、B は A を参照します。以前に作成されたオブジェクトを参照する方法。
2 番目の質問では、長いグラフ A->B->C->D->E があり、A を追加の深さ 2 でシリアライズしたいとします。これは単に A->B->C になります。カスタムの writeToParcelDeep メソッドを作成してこれを行いましたが、これはもちろん標準の writeToParcel ほど便利ではありません。