【发布时间】:2012-03-09 20:47:04
【问题描述】:
我一直在跟踪我的应用程序中的大量内存泄漏,问题似乎出在 MemoryStream 类上。每当我使用“使用”关键字或显式关闭/处置时,垃圾收集器将永远不会收集内存。这里有什么问题?
byte[] bData = System.IO.File.ReadAllBytes( "F:\\application_exit_bw.png" );
using( System.IO.MemoryStream hMemoryStreamOutput = new System.IO.MemoryStream())
{
for ( int i = 0; i < 10000; i++ ) hMemoryStreamOutput.Write( bData, 0, bData.Length );
}
Thread.Sleep(Timeout.Infinite);
通过显式关闭/丢弃,行为保持不变。内存已被占用,并且会一直保持这种状态,直到我关闭我的应用程序,或者应用程序填满了所有系统内存。帮忙?
【问题讨论】: