繁体   English   中英

计时器增加 C# 应用程序中的 memory 使用量

[英]Timer increases memory usage in C# app

我正在制作一个使用计时器的 C# win form 应用程序(VS2010,.NET4),我的间隔是 1s,我跟踪任务管理器,似乎我的 memory 使用情况(写在任务进程选项卡中应用程序名称前面的值经理)每个间隔增加,我在计时器滴答事件中没有做任何特别的事情。 只需增加一个 integer 变量并将其显示在标签中。

正常吗? 我应该关心这个 memory 问题吗? 我要在我的服务器上运行这个程序(通过远程桌面),它会对我的服务器造成任何问题吗? 它会用完 memory 吗? 我使用 VS 工具箱中的计时器。

让我们看下面的例子,它用当前时间每秒更新一个 label:

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

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

只是为了调试,尝试通过运行强制垃圾收集

GC.Collect();

您的 memory 使用应该 go 回到大约原来的位置。 顺便说一句——您可以在调试器中通过快速查看该表达式来执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM