Общий совет заключается в том, что вы не должны вызывать GC.Collect
из своего кода, но каковы исключения из этого правила?
Я могу вспомнить только несколько очень конкретных случаев, когда имеет смысл форсировать сборку мусора.
Один пример, который приходит на ум, - это служба, которая периодически просыпается, выполняет какую-то задачу, а затем спит в течение длительного времени. В этом случае может быть хорошей идеей принудительно выполнить сбор, чтобы предотвратить процесс, который вскоре будет бездействовать, удерживает больше памяти, чем необходимо.
Есть ли другие случаи, когда допустимо звонить GC.Collect
?