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