根据我的经验,似乎大多数人会告诉您,强制进行垃圾回收是不明智的,但是在某些情况下,当您使用的大型对象并非总是在0代中被收集,而内存是一个问题时,可以强制收取吗?有没有这样做的最佳实践?
最佳做法是不要强制垃圾回收。
根据MSDN:
“可以通过调用Collect来强制进行垃圾收集,但是在大多数情况下,应该避免这种情况,因为这可能会导致性能问题。”
但是,如果可以可靠地测试代码以确认调用Collect()不会产生负面影响,请继续…
只需尝试确保在不再需要对象时清理它们即可。如果您有自定义对象,请考虑使用“ using语句”和IDisposable接口。
该链接在释放内存/垃圾回收等方面有一些很好的实用建议:
http://msdn.microsoft.com/zh- CN/library/66x5fx1b.aspx