[問題] 記憶體管理

看板C_Sharp作者 (Lvx ex Caelis)時間17年前 (2008/08/21 17:53), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/1
在下最近寫的一個程式中有個很大的迴圈,大致長得像這樣: 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

08/21 18:04, , 1F
GC.Collect(),不過呼叫太頻繁會影響效能
08/21 18:04, 1F

08/22 10:19, , 2F
可以google一下".net 記憶體管理",可得到一些概念
08/22 10:19, 2F

08/22 20:52, , 3F
我改用 BackgroundWorker 來寫這部份的程式後問題就沒了 XD
08/22 20:52, 3F
文章代碼(AID): #18hJiofa (C_Sharp)