当前位置: 代码迷 >> C# >> Timer操作控件内存有关问题
  详细解决方案

Timer操作控件内存有关问题

热度:60   发布时间:2016-05-05 03:32:08.0
Timer操作控件内存问题

        private void timer1_Tick (object sender , EventArgs e)
        {
            timer1.Enabled = false;
            long i = DateTime.Now.Ticks;
            i = i - StartTime;
            DateTime time = new DateTime(i);
            string str = "运行时间:" + time.ToString();
            StatueLabelRunTime.Text = str;
            timer1.Enabled = true;
        }


很简单的一段代码,内存每秒8KB 增长

求指点
------解决思路----------------------
涨50M之后还会接着涨么?还是这么几条语句根本没有见到”涨50M内存的情况?

为了重复使用内存、优化内存使用,GC不会胡乱启动的垃圾清理工作的。所以如果你很快地执行许多计算工作(而没有让进程进入Idel状态),那么进程很快地涨几十M内存(比如20M内存)也是正常的。这正是.net程序比c++程序高明之处,它会经常动态地追加分配一大块内存空间以后重复使用,而并不纠结于“压缩内存空间”,绝不是“死抠”几M、几百K空间那种问题。
  相关解决方案