何时删除GC.Collect

时间:2017-08-08 07:05:25

标签: c# .net performance memory-management garbage-collection

我知道有很多问题在讨论我们何时应该使用GC.Collect(),但我想知道如果我认为其中一个类似乎导致了这一行,那么如何验证一个复杂的企业程序性能问题?是否有任何好的步骤可以遵循并确认此行可以安全删除?

1 个答案:

答案 0 :(得分:3)

  

何时删除GC.Collect

无论何时你看到它......

  

是否有任何好的步骤

如果你看不出任何合理的理由。好的步骤就是删除它。我看不出它可以引入任何新问题。垃圾收集器已经过优化,可以在需要时自动调用它。

正如本answer所述,可能会有非常罕见的情况,这可能很有用。但一般来说,每当我看到这一点,就会给我留下不好的印象和担忧......

  

验证此行可以安全删除

当有内存泄漏问题时,有时人们会盲目地添加它。但这对任何内存泄漏都无济于事。因此,只需使用内存分析工具并验证没有内存泄漏。但是,只是删除它不会引入任何新的内存泄漏。