我正在使用自定义序列化序列化我的应用中的数据,即我正在存储的每个类都具有[Serializable]
属性并实现ISerializable
。被序列化的对象图相当复杂,对象/类之间有许多交叉引用。序列化有效,但速度很慢。 :(
通过在每个相关类的GetObjectData
方法中放置一个断点,我发现我得到的命中次数比我的对象多得多。
我很困惑 - 我对序列化框架的理解是它只会存储每个对象一次,即使对象图包含多个引用它。我认为这意味着每个对象的GetObjectData
方法在保存期间只需要调用一次。我错了吗?
如果是这样,我可以采用这种方法减少对类GetObjectData
方法的调用次数吗?
感谢。