作者del680202 (飘落的樱花)
看板C_Sharp
标题[问题] 解放记忆体问题
时间Sat Jul 21 18:16:33 2007
小弟我写了一个程式
里面会产生大量的物件
我希望那些物件到达某个条件是自动消灭释放记忆体
我看书上 C#好像是丢给GC作,但我记得GC是等有时间的时候他才会做回收的动作
请问C#有没有类似C++的delete 指定让一个物件消灭
或回收,我目前看到的是用 XXX=null的方式 让系统自动回收
但是这样好像不太保险,因为我可能一个时间需要产生几千个物件
我需要一个物件任务结束後就把记忆体放出的方法
请问高手有没有办法达到我的需求....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.217.227.97
1F:推 FantasyRyu:都查到GC物件了怎麽没注意到它有个Collect()… 07/21 18:44
2F:→ FantasyRyu:另外包在using{}里的物件执行完会马上自爆,可以试试 07/21 18:46
3F:推 cole945:using是在配合Dispose(要实作IDisposable)的物件的.. 07/22 00:47
4F:→ cole945:主要是用来free unmanaged资源用..跟GC处理的东西不太一样 07/22 00:48
5F:推 horngsh:GC.Collect()可启动GC回收机制... 07/22 09:44
6F:推 deuter:一般建议都是不要强制用 GC.Collect(),因为这样会影响 07/22 14:58
7F:→ deuter:GC自己最佳化的回收机制 07/22 15:03