カスタムシリアライゼーションを使用してアプリのデータをシリアライズしています。つまり、保存している各クラスには[Serializable]
属性と実装がありますISerializable
。シリアル化されているオブジェクト グラフは、オブジェクト/クラス間の相互参照が多く、かなり複雑です。シリアル化は機能しますが、かなり遅いです。:(
関連する各クラスのGetObjectData
メソッドにブレークポイントを設定すると、オブジェクトよりもはるかに多くのヒットが得られることがわかりました。
私は混乱しています - シリアライゼーションフレームワークについての私の理解は、オブジェクトグラフに複数の参照が含まれていても、各オブジェクトを一度だけ保存するというものでした。これは、保存中に各オブジェクトのGetObjectData
メソッドを一度だけ呼び出す必要があることを意味すると思いました。私が間違っている?
もしそうなら、クラスのGetObjectData
メソッドへの呼び出しの数を減らすために、このアプローチでできることはありますか?
ありがとう。