Метод GetTotalMemory
Число байт меняется от запуска к
запуску - в вывод его не кладут.
С
false оценка сразу, с
true сначала ждут сборку.
Принудительная сборка -
Collect.
Обзор -
GC.
Синтаксис
long bytes = GC.GetTotalMemory(false);
long afterCollect = GC.GetTotalMemory(true);
Пример
Давайте проверить неотрицательность оценки без сборки:
using System;
class Program
{
static void Main()
{
bool res = GC.GetTotalMemory(false) >= 0;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте запросить оценку после сборки:
using System;
class Program
{
static void Main()
{
bool res = GC.GetTotalMemory(true) >= 0;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте сравнить два вызова по знаку:
using System;
class Program
{
static void Main()
{
bool before = GC.GetTotalMemory(false) >= 0;
bool after = GC.GetTotalMemory(true) >= 0;
bool res = before && after;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
метод
Collect,
запуск сборки -
GC,
класс сборщика -
ArrayPool,
меньше выделений -
метод
GetGeneration,
поколение объекта