【发布时间】:2022-01-10 03:35:09
【问题描述】:
当我遇到以下情况时,我需要清理对象并立即释放其分配的内存时该怎么办?
在创建一个包含 1000 万字的 List<string> 后,进程内存增加到 ~150MB。
List<string> list = new();
int length = 10000000;
for (int i = 0; i < length; i++)
{
list.Add("test");
}
Console.ReadLine();
list.Clear();
Console.ReadLine();
即使列表被清除,我也没有看到内存在此之后被释放。谁能给我一些指导,好吗?
【问题讨论】:
-
C# 只接受垃圾收集的建议。
-
要显式地释放内存(不要在生产代码中这样做),你应该开始垃圾回收:
GC.Collect(2);
标签: c# memory-management garbage-collection