变量是否在内存中占用与序列化时相同的空间?

时间:2010-01-21 12:46:16

标签: .net serialization memory-management

如果该类有SerializableAttribute并且其对象已使用BinaryFormatter序列化,则序列化大小等于它在内存中占用的大小?

编辑:其他问题:有没有更好的方法来查找对象在内存中占用多少空间?这种方法足够近似吗?

2 个答案:

答案 0 :(得分:2)

没有。类/结构的成员用填充存储在存储器中,以在需要时将它们对齐在偶数字边界上(根据相应的数据类型)。序列化数据没有这样的填充。

答案 1 :(得分:1)

通常,序列化对象占用更多空间,因为还必须存储显式元数据。但是,在运行过程的内存空间中也有元数据,那么如何计算元数据部分以进行正确的比较呢?