我知道有很多问题在讨论我们何时应该使用GC.Collect(),但我想知道如果我认为其中一个类似乎导致了这一行,那么如何验证一个复杂的企业程序性能问题?是否有任何好的步骤可以遵循并确认此行可以安全删除?
答案 0 :(得分:3)
何时删除GC.Collect
无论何时你看到它......
是否有任何好的步骤
如果你看不出任何合理的理由。好的步骤就是删除它。我看不出它可以引入任何新问题。垃圾收集器已经过优化,可以在需要时自动调用它。
正如本answer所述,可能会有非常罕见的情况,这可能很有用。但一般来说,每当我看到这一点,就会给我留下不好的印象和担忧......
验证此行可以安全删除
当有内存泄漏问题时,有时人们会盲目地添加它。但这对任何内存泄漏都无济于事。因此,只需使用内存分析工具并验证没有内存泄漏。但是,只是删除它不会引入任何新的内存泄漏。