我在 .Net 3.5 框架中看到 BinaryFormatter 类的内存泄漏问题。我正在使用以下方法来反序列化一个对象。传递给此方法的字节数组大小为 156MB。但是,我调用这个方法后有 2.6GB 的跳跃。
我在 MSDN 上找到了这篇文章,讨论了这个内存泄漏问题。http://blogs.msdn.com/b/psirr/archive/2009/11/13/interesting-memory-leak-in-net-3-5-binary-deserialization.aspx
有谁知道这个问题是否有解决方案?.Net 4.0 解决了吗?
public static Message DeserializeContent(byte[] content)
{
var formatter = new BinaryFormatter();
Message message;
using (var stream = new MemoryStream(content))
{
message = (Message) formatter.Deserialize(stream);
stream.Close();
}
return message;
}