作者bcse (Lvx ex Caelis)
看板C_Sharp
標題[問題] 記憶體管理
時間Thu Aug 21 17:53:53 2008
在下最近寫的一個程式中有個很大的迴圈,大致長得像這樣:
foreach(string file in files)
{
using(SomeClass obj = new SomeClass(file))
{
// Do something...
}
}
上面的 SomeClass 是一個我的自訂類別,我參照下面這篇文章實作了 IDisposable
http://www.cnblogs.com/xlshcn/archive/2007/01/16/idisposable.html
所以理論上在 using 區塊中用完後記憶體就會等著被 GC 釋放?
然而根據我觀察記憶體的消長情況,發現記憶體用量還是不斷地增加
請問在 C# 中要怎樣才能確實地釋放出用畢的資源呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 134.208.29.57
推 hamsters:GC.Collect(),不過呼叫太頻繁會影響效能 08/21 18:04
推 tomex:可以google一下".net 記憶體管理",可得到一些概念 08/22 10:19
→ bcse:我改用 BackgroundWorker 來寫這部份的程式後問題就沒了 XD 08/22 20:52