看板 C_Sharp 關於我們 聯絡資訊
小弟我寫了一個程式 裡面會產生大量的物件 我希望那些物件到達某個條件是自動消滅釋放記憶體 我看書上 C#好像是丟給GC作,但我記得GC是等有時間的時候他才會做回收的動作 請問C#有沒有類似C++的delete 指定讓一個物件消滅 或回收,我目前看到的是用 XXX=null的方式 讓系統自動回收 但是這樣好像不太保險,因為我可能一個時間需要產生幾千個物件 我需要一個物件任務結束後就把記憶體放出的方法 請問高手有沒有辦法達到我的需求.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.217.227.97
FantasyRyu:都查到GC物件了怎麼沒注意到它有個Collect()… 07/21 18:44
FantasyRyu:另外包在using{}裡的物件執行完會馬上自爆,可以試試 07/21 18:46
cole945:using是在配合Dispose(要實作IDisposable)的物件的.. 07/22 00:47
cole945:主要是用來free unmanaged資源用..跟GC處理的東西不太一樣 07/22 00:48
horngsh:GC.Collect()可啟動GC回收機制... 07/22 09:44
deuter:一般建議都是不要強制用 GC.Collect(),因為這樣會影響 07/22 14:58
deuter:GC自己最佳化的回收機制 07/22 15:03