C#测试内存溢出时使用的可实时释放资源的GC方法
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掉资源以便查找哪里存在内存溢出