-4 .net c# garbage-collection memory-management
可能重复:
.NET垃圾收集在这里不能正常工作?
我测试了以下代码.单击按钮时,将创建对象并将其添加到列表中.单击另一个按钮时,将清除该列表
GC正在销毁对象,但内存使用量不会减少.为什么?有什么不对?
public partial class MainWindow : Window
{
public List<MyModel> MyList;
public MainWindow()
{
MyList = new List<MyModel>();
InitializeComponent();
}
private void button1_Click_1(object sender, RoutedEventArgs e)
{
MyList = new List<MyModel>();
for (int i = 0; i < 1000000; i++)
{
MyList.Add(new MyModel { ID = i, Description = "Model Id : " + i.ToString() });
}
MessageBox.Show("Complate!");
}
private void button1_Click_2(object sender, RoutedEventArgs e)
{
MyList.Clear();
MyList = null;
}
}
public class MyModel
{
~MyModel()
{
Console.WriteLine(Description);
}
public int ID { get; set; }
public string Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Eri*_*ert 14
假设你拥有一个仓库.您将箱子存放在仓库中.有些盒子是垃圾,所以你要定期扔掉它们.仓库的面积不会变小.
如果你测量的是提交给过程的内存页面的总数,那么你不是在测量仓库中的盒子数量,而是测量仓库的平方英尺.