Класс GC
Сборщик сам освобождает объекты без
ссылок. Принудительный запуск -
Collect,
оценка занятости -
GetTotalMemory.
Поколение объекта -
GetGeneration.
Слабые ссылки -
WeakReference.
Синтаксис
GC.Collect();
long bytes = GC.GetTotalMemory(false);
Пример
Давайте запустить сборку мусора:
using System;
class Program
{
static void Main()
{
GC.Collect();
Console.WriteLine("abcde");
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте узнать поколение нового объекта:
using System;
class Program
{
static void Main()
{
object obj = new object();
int res = GC.GetGeneration(obj);
Console.WriteLine(res);
}
}
Результат выполнения кода:
0
Пример
Давайте проверить, что оценка памяти неотрицательна:
using System;
class Program
{
static void Main()
{
bool res = GC.GetTotalMemory(false) >= 0;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
метод
Collect,
запуск сборки -
метод
GetTotalMemory,
сколько занято -
метод
KeepAlive,
удержать объект -
WeakReference,
слабая ссылка