Принудительная очистка памяти - C#
Формулировка задачи:
Знаю про встроенный сборщик мусора но вот у меня как-то он не работает, видимо из-за того что пишу на коленках.
Собственно в программе есть массивчик MX, который при выполнении занимает 600 метров. Отслеживаю это все через диспетчер задач. После того как программа завершается (а вернее завершается обработка события нажатия кнопки), в диспетчере задач она так и продолжает занимать 600 метров. Хотя массив MX уже не нужен. Вот как его принудительно уничтожить? не помогло.
MX=null;
Решение задачи: «Принудительная очистка памяти»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
string[, , ,] MX = new string[303, 100, 34, 305];
for (int i = 0; i < MX.GetLength(0); i++)
for (int j = 0; j < MX.GetLength(1); j++)
for (int k = 0; k < MX.GetLength(2); k++)
for (int l = 0; l < MX.GetLength(3); l++)
MX[i, j, k, l] = "A";
// Здесь диспетчер задач показывает 1235316 КБ
Console.WriteLine("Заполнен");
Console.ReadLine();
MX = null;
GC.Collect();
// Здесь 5564 КБ
Console.WriteLine("Прошла сборка");
Console.ReadLine();
}
}