GC.Collect()

GC.Collect(),第1张

GC.Collect()

我可以看到有几个人对不建议调用GC.Collect变得极端。

GC.Collect的存在是有原因的,这是我建议何时以及为何调用GC.Collect的建议。

  1. 通常,不必担心调用它,GC会很好地进行调整,并且会做正确的事情。

  2. 有时,您遇到的情况是您肯定知道现在是调用它的正确时间,而上述情况恰好是调用它的正确时间,实际上Asp.Net在某些时候调用了GC.Collect。与您所描述的相似。

  3. GC聪明地调用了GC.Collect,如果您调用了GC.Collect,则GC可以覆盖您的决定,但仍然无法收集(调用GC.Collect时必须设置一个标志才能选择此行为),这是推荐的调用GC.Collect的方式,因为您仍要让GC决定是否是收集的好时机。

  4. 不要以为我推荐的是调用GC.Collect的一般说法,除非您确实确定需要调用它,否则应始终避免调用它,您所描述的情况正是GC.Collect出现的原因。

  5. 调用它所获得的好处是可以快速释放垃圾,通常,如果出现这种情况,您将在意这种情况

    1. 您处在内存不足的情况下,并且希望急于进行收集,如果您处在内存不足的情况下,无论如何,GC都将变得很激进,并且在计算机上的内存压力很高时,它将自动启动
    2. 如果您要避免陷入内存不足的情况,并且希望热心收集。

希望这可以帮助。
谢谢



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5044931.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存