作者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
1F:推 hamsters:GC.Collect(),不过呼叫太频繁会影响效能 08/21 18:04
2F:推 tomex:可以google一下".net 记忆体管理",可得到一些概念 08/22 10:19
3F:→ bcse:我改用 BackgroundWorker 来写这部份的程式後问题就没了 XD 08/22 20:52