C# System.Windows.Forms.Timer导致内存一直增加

来源:百度知道 编辑:UC知道 时间:2024/06/01 15:31:56
采用forms.Timer的标准用法,如:
this.timer1.Enabled = true;
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);

我把this.timer1_Tick全部去掉,也不是以每秒4个字节的长度增加。不去也是一样,导致一天下来,就内存溢出。
当把上面的定时器注释掉,就不长内存了。

winform在最小化的时候能释放内存,于是在采用程序模拟这种动作,是释放内存,好像解决了问题,但是在运行一天下,
还是占了很多内存,原来一天就溢出,现在二天才溢出。

想请教一下,有谁碰到类似的情况?有什么好的解决方法。

因为我们要采用forms.Timer的线程安全的Timer,就是quartz中有状态的Timer,第一次任务完成才能运行第二个任务。
如果采用别的Timer,有没有好的解决方法?

不甚感激。
我把Times中所有内容都注释了,还是会一直长内存。

这跟使用Timer或者线程没有关系.估计是因为this.timer1_Tick的代码里面new了资源没有及时释放.造成了内存一直增长.

你是不是引用了什么非托管的资源,或使用了文件输入输出、流、数据库连接之类的用后没有释放