C#测试内存溢出时使用的可实时释放资源的GC方法

发布时间 2024-01-02 17:43:00作者: 奇迹之耀

WPF测试某控件内存溢出问题,代码如下

for (int j = 0; j < 1000; j++)
{
for (int i = 0; i < 100; i++)
{

UserControl1 AdvancedMMenuCtrl = new UserControl1();

}
Console.WriteLine(j);
GC.Collect();
}

然后测试结果奇奇怪怪的,找不到内存溢出的地方,后来发现GC.Collect()无法将当前可释放的全部资源进行释放

将GC.Collect()改为

GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();

使用此方法可实时GC掉资源以便查找哪里存在内存溢出