为什么加载过的窗体内存不能释放呢?!
一个应用程序有两个窗体,一个是启动窗体,另一个是通过按钮打开的窗体。
当程序启动时站用的内存是:17.8K;
当点击按钮载入第2个窗体时是:18.5K;
当关闭第2个窗体时内存反而变成19K?
虽然垃圾回收机制不是马上运行,但是我等了半个小时内存还是没有减少,它在干什么?甚至在一个空窗体上移动鼠标 内存也会不断的增加......
真是郁闷死了......

解决方案 »

  1.   

    他有自己的运行机制,并不是关闭窗体就清空内存.如果你要强制清里内存可以使用GC.Collect
      

  2.   

    它好像把程序的每一个动作都写进了Cache,所以你会发现第二次执行相同操作时很快!
    吃内存是.Net的劣势!
      

  3.   

    .net的内存一向占用比较严重。其中有很多是共享内存,关闭窗体以后已分配的内存会为了将来的用处而保留。
      

  4.   

    lidong6(立冬)说的强制清里内存能清理的掉吗?清理内存是自动完成的,强制清理只是把它提前执行了,效果应该是一样的。楼主等了半个小时内存还没有被回收,是回收机制还没有运行,还是根本就清理不掉呢?
      

  5.   

    如果把内存给删除,运行反而慢,
    java其实也很占用内存,因为java清理得比较勤快,所以java运行效率没有比.net快,现在内存这么大,如果不是很特别的要求就不用清理,如果要讲究效率+空间,请不要用.net