2

既存の Parcelable の例はかなり些細なものです。複雑なオブジェクト グラフがある場合、実現可能性を疑問視する次の疑問がすぐに生じます。

  1. オブジェクトが複数回パーセルに書き込まれるのを防ぐ方法はありますか?
  2. 書き込み中にオブジェクト グラフの深さを制限するためのベスト プラクティスはありますか?

最初の質問の例を挙げると、オブジェクト A は B を参照し、B は B を参照し、B は A を参照します。以前に作成されたオブジェクトを参照する方法。

2 番目の質問では、長いグラフ A->B->C->D->E があり、A を追加の深さ 2 でシリアライズしたいとします。これは単に A->B->C になります。カスタムの writeToParcelDeep メソッドを作成してこれを行いましたが、これはもちろん標準の writeToParcel ほど便利ではありません。

4

1 に答える 1

0

Java シリアライゼーションでは、参照が保持され、オブジェクトが 1 回だけ書き込まれます。また、現在のデバイスは過去のものよりもはるかに強力であり、パフォーマンスの向上が、特にあなたの例のように複雑な Parcelable biolerplate コードを書くことを正当化するかどうかはわかりません。

私は引き続きシリアライズ可能を使用します。このトピックに関する私の調査結果の詳細については、こちらを参照してください。

于 2015-03-25T00:33:11.537 に答える