Andrew Troelsen 在 “C# 2010 和 .NET 4 平台” 一书中的标题“Forcing a Garbage Collection” 写道:
“再次强调,.NET 垃圾收集器的全部目的是代表我们管理内存。但是,在一些非常罕见的情况下,使用 GC.Collect() 以编程方式强制执行垃圾收集可能是有益的。具体来说:
• 您的应用程序即将进入您不希望被可能的垃圾回收中断的代码块。 ... "
但是停下来!是否存在不需要垃圾收集的情况?我从未见过/读过类似的东西(当然是因为我的开发经验很少)。如果您在练习时做过类似的事情,请分享。对我来说,这是非常有趣的一点。
谢谢!
最佳答案
是的,绝对有一种情况是垃圾收集是不可取的:当用户正在等待某事发生时,他们不得不等待更长时间,因为在垃圾收集完成之前代码无法继续。
这就是 Troelsen 的观点:如果您有一个特定的点,您知道 GC 没有有问题并且很可能能够收集大量垃圾那么它可能然后激发它是个好主意,以避免它在不太合适的时刻触发。
关于c# - 不受欢迎的垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8747325/