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