我正在制作一个使用计时器的C#win表单应用程序(VS2010,.NET4),我的间隔是1秒,我跟踪任务管理器,似乎我的内存使用情况(在应用程序名称前面写的值)任务管理器的选项卡)每个间隔增加!我在计时器刻度事件中没有做什么特别的,只需增加一个整数变量并将其显示在标签中。
这是正常的吗?我应该关注这个记忆问题吗?我要在我的服务器上运行这个程序(通过远程桌面),它会不会给我的服务器带来任何问题?内存不足吗? 我使用VS工具箱中的计时器。
答案 0 :(得分:6)
让我们采用以下示例,该示例每秒使用当前时间更新标签:
var timer = new Timer
{
Interval = 1000,
};
timer.Tick += (s, evt) =>
{
label1.Text = DateTime.Now.ToLongTimeString();
};
timer.Start();
如果你有这样的代码,你不应该担心内存使用情况。垃圾收集器可以随时运行以释放内存。只是你无法确定何时发生这种情况。
答案 1 :(得分:1)
仅用于调试,请尝试运行
强制执行垃圾回收GC.Collect();
你的内存使用率应该回到大约的位置。顺便说一句 - 您可以通过快速监视中的表达式在调试器中执行此操作。