Timer会增加C#app中的内存使用量

时间:2011-07-07 17:13:02

标签: c# timer

我正在制作一个使用计时器的C#win表单应用程序(VS2010,.NET4),我的间隔是1秒,我跟踪任务管理器,似乎我的内存使用情况(在应用程序名称前面写的值)任务管理器的选项卡)每个间隔增加!我在计时器刻度事件中没有做什么特别的,只需增加一个整数变量并将其显示在标签中。

这是正常的吗?我应该关注这个记忆问题吗?我要在我的服务器上运行这个程序(通过远程桌面),它会不会给我的服务器带来任何问题?内存不足吗? 我使用VS工具箱中的计时器。

2 个答案:

答案 0 :(得分:6)

让我们采用以下示例,该示例每秒使用当前时间更新标签:

var timer = new Timer
{
    Interval = 1000,
};
timer.Tick += (s, evt) =>
{
    label1.Text = DateTime.Now.ToLongTimeString();
};
timer.Start();

如果你有这样的代码,你不应该担心内存使用情况。垃圾收集器可以随时运行以释放内存。只是你无法确定何时发生这种情况。

答案 1 :(得分:1)

仅用于调试,请尝试运行

强制执行垃圾回收
GC.Collect();

你的内存使用率应该回到大约的位置。顺便说一句 - 您可以通过快速监视中的表达式在调试器中执行此操作。