我一直在跟蹤海量應用程序中的大量內存泄漏,看起來問題在於MemoryStream類。無論何時我使用「使用」關鍵字或明確的關閉/處理,內存將永遠不會被垃圾收集器收集。這裏有什麼問題?C#MemoryStream泄漏內存,處理/關閉/ etc後?
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);
使用明確的close/dipose行爲保持不變。內存被佔用,並保持這種狀態,直到我關閉我的應用程序,或者,應用程序填滿了所有的系統內存。幫幫我?
+1的調試模式尖,感謝 – 2012-02-19 00:22:50
請告訴我downvote呢?有什麼不準確的地方?請報告錯誤,我會修復! – usr 2012-02-19 00:26:57