首页 新闻 会员 周边

System.Timers中的timer隔一段时间执行方法后内存不能释放

-1
悬赏园豆:50 [已解决问题] 解决于 2008-11-01 18:03

System.Timers中的timer隔一段时间就执行一个方法,但每执行一次后内存就会增加而不释放。最后直到内存溢出。该如何解决。
我就50分,全给了,谁帮我解答一下

ZYB的主页 ZYB | 初学一级 | 园豆:0
提问于:2008-10-29 13:12
< >
分享
最佳答案
-2

问题肯定在 IcCardBll.SyncData () 这个方法中,你可以用一些工具来检查到底是什么对象没有是否内存。

可参见我写的这篇文章

http://www.cnblogs.com/eaglet/archive/2008/09/05/1285169.html

 

eaglet | 专家六级 |园豆:17139 | 2008-10-29 14:28
其他回答(2)
0

getstart是被谁调用的

这一点代码看不出什么。

从这点代码中只能看出它的代码写法很不成熟,但没什么问题,也许问题不在这儿。

不过可以肯定的是,你的这种写法并不好。如果只是临时定时执行一段代码没有用这个的必要,这个开销比较大。用线程就行了。

Geeks | 园豆:560 (小虾三级) | 2008-10-30 10:37
0

IcCardBll.SyncData()方法也许占用的时间超过了500毫秒,试试下面的代码

private void OnTimedEvent(object source, ElapsedEventArgs e)
{

    aTimer.Stop();
    IcCardBll.SyncData();

    aTimer.Start();
}

麒麟.NET | 园豆:3614 (老鸟四级) | 2008-10-30 11:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册