Поделиться через


Индуцированные коллекции

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

Используйте метод Collect, если появилось заметное уменьшение в объеме памяти, используемом в определенной точке кода приложения. Например, если приложение использует сложное диалоговое окно, которое содержит несколько элементов управления, вызов Collect при закрытом диалоговом окне может улучшить производительность посредством немедленной очистки памяти. Убедитесь, что приложение не запускает сборку мусора слишком часто, потому что это может уменьшить производительность, если сборщик мусора непродуктивно пытается удалить объекты. Режим Optimized позволяет сборщику мусора определить, следует или не следует собирать мусор, в зависимости от того, будет ли это продуктивным.

Режим сборки GC

Можно использовать перегрузку метода GC.Collect, которая принимает значение GCCollectionMode для указания поведения принудительной сборки, как описано в следующей таблице.

Элемент

Описание

Default

Использует параметр, назначенный в качестве конфигурации сборки мусора по умолчанию для выполняемой версии .NET Framework.

Forced

Вызывает немедленное выполнение принудительной сборки мусора. Это эквивалентно вызову метода GC.Collect().

Optimized

Позволяет сборщику мусора определить, является ли текущий момент оптимальным для освобождения объектов.

Сборщик мусора может определить, что сборка мусора будет недостаточно продуктивна, в этом случае он возвратится без удаления объектов.

См. также

Основные понятия

Режимы задержки

Сборка мусора