为什么我的Windows窗体应用程序在空白的应用程序中消耗的内存越来越多,甚至没有被用户(我)使用?
您可以使用以下步骤重现:
New Project
> C#
> Windows Forms Application
> .NET Framework 4.5
从PictureBox
窗格
Form1
添加Toolbox
PictureBox
,然后选择Choose Image...
Task Manager
并观察内存每秒增加N KB。由于显而易见的原因,这让我感到疯狂。我的应用程序从大约<1MB开始,在几分钟内,它达到了大约10MB。再给它几分钟,它再次达到~40MB。它并不止于此。事实上,我让它运行了一夜,当我醒来时,电脑没有响应。
答案 0 :(得分:0)
GC没有收集未使用的内存,因为它非常小。
您可以尝试强制GC收集(不是一个好的做法,仅用于测试)
public Form1()
{
InitializeComponent();
_timer.Interval = 10000;
_timer.Tick += _timer_Tick;
_timer.Start();
}
void _timer_Tick(object sender, EventArgs e)
{
GC.Collect();
}
此后内存在我的电脑上保持在3.2 MB:)