IForeGarbageCollector.RequestFullClean

Синтаксис

RequestFullClean([MaxDuration: Integer = -1]);

Параметры

MaxDuration. Время выполнения процесса сборки мусора в секундах.

Описание

Метод RequestFullClean запускает полный цикл сборки мусора.

Комментарии

В отличие от метода RequestPartitialClean, который производит только одну итерацию сборки мусора, RequestFullClean будет повторять попытки очистки пока из памяти не будут удалены все неиспользуемые объекты. Например, есть объект B, который зависит от объекта A. Объект A помечен как неиспользуемый. После выполнения метода RequestPartitialClean объект A будет удален из памяти, а B останется. При выполнении метода RequestFullClean после первой итерации будет удален объект A, на второй итерации будет удалён объект B и так далее.

По умолчанию параметр MaxDuration не задан, при этом сборка мусора выполняется пока в памяти не останутся только те объекты, которые отмечены как используемые. Если задать параметр MaxDuration и сборщик мусора не успеет завершить свою работу за указанное время, то процесс будет остановлен и продолжен при повторных вызовах метода или когда наступят условия, необходимые для автоматического запуска процесса сборки мусора.

Пример

Sub UserProc;
Var
    GC: IForeGarbageCollector;
Begin
    GC := 
New ForeGarbageCollector.Create;
    GC.RequestFullClean(
1);
End Sub UserProc;

При выполнении примера будет осуществлён запуск полного цикла сборки мусора. На сборку мусора будет отведена одна секунда.

См. также:

IForeGarbageCollector