c#timer使用中的一个问题,麻烦高手来解答!!!

来源:百度知道 编辑:UC知道 时间:2024/05/10 09:33:07
我利用timer做了一个时钟,运行没有问题,但在使用中发现程序占用系统内存容量会随着时间递增,每次大概4~8K的样子
请问有什么方法能控制这种现象?
下面是我的代码

用imagelist存放画有0~9的图片,共10张
声明hour和minute用来存放小时和分钟
拆分字符串,用作LABLE的image索引

private void timer1_Tick(object sender, System.EventArgs e)
{
hour=DateTime.Now.Hour.ToString();
minute=DateTime.Now.Minute.ToString();
if(hour.Length==1)
{
hour="0"+hour;
}
if(minute.Length==1)
{
minute="0"+minute;
}

this.LBLnumber_h1.ImageIndex=int.Parse(hour.Substring(0,1));
this.LBLnumber_h2.ImageIndex=int.Parse(hour.Substring(1,1));
this.LBLnumber_m1.ImageIndex=int.Parse(minute.Substring(0,1));
this.LBLnumber_m2.ImageIndex=int.Parse(minute.Substring(1,1));
}

在我将TICK事件内的代码注释掉后,以1000毫秒的频率空运行timer,内存依然会上升,但不明显.
保留TICK内的代码,运行程序,内存上升的很明显.

程序代码只是获取对象后来显示,没什么问题.应该不是这里的问题,在其他地方找找

肯定不是timer的问题,是你调用的函数中有对象占用资源没有及时释放掉,可以把代码贴出来!