作者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