2 回答

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
C# 是一種垃圾收集語(yǔ)言。垃圾收集器為您分配資源,并在不再使用時(shí)回收它們。
GC.Collect()
除非你有充分的理由,否則你根本不應(yīng)該調(diào)用- 垃圾收集器很聰明,并且只會(huì)在它認(rèn)為需要時(shí)運(yùn)行。
這可以由多種情況觸發(fā),如文檔中所示:
當(dāng)滿(mǎn)足以下條件之一時(shí),就會(huì)發(fā)生垃圾收集:
系統(tǒng)物理內(nèi)存不足。這是通過(guò)操作系統(tǒng)發(fā)出的內(nèi)存不足通知或主機(jī)指示的內(nèi)存不足來(lái)檢測(cè)的。
托管堆上分配的對(duì)象使用的內(nèi)存超過(guò)了可接受的閾值。該閾值隨著進(jìn)程的運(yùn)行而不斷調(diào)整。
調(diào)用 GC.Collect 方法。在幾乎所有情況下,您不必調(diào)用此方法,因?yàn)槔占鬟B續(xù)運(yùn)行。此方法主要用于特殊情況和測(cè)試。
重要的是,垃圾收集可以導(dǎo)致所有正在運(yùn)行的線程暫停,以便它可以分析堆中的所有對(duì)象以查看它們是否仍然需要。這需要時(shí)間,如果您在不需要時(shí)頻繁運(yùn)行它,可能會(huì)對(duì)程序的性能產(chǎn)生負(fù)面影響。

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
您不需要將其包裝在public static
方法中,只需在需要時(shí)調(diào)用它即可:
//?Time?to?release?memory! GC.Collect();
- 2 回答
- 0 關(guān)注
- 561 瀏覽
添加回答
舉報(bào)