我些的程序,打开后在任务管理器中显示它所占的内存在不断增加,这是为什么?我用了Dispose()但是好像不管用,请高手支招!

解决方案 »

  1.   

    首先得找到不断分配的内存的代码,再看这种增长是否正常。
    内存是自动回收的,Dispose后也不能保证立即回收,可以强制调用GC.Collect()试试。
      

  2.   

    是不是你调用了一些COM组件没释放?
    然后就~~
      

  3.   

    强制垃圾回收  System.GC.Collect()
      

  4.   

    建议你对你的程序进行优化分析,先找到原因,才能对症下药;在MS的文档里,不推荐用户手动调用 GC.Collect();推荐分析思想给你吧:
    1、AQtime (这个是分析程序的利器)
    2、操作系统自带的性能监测器:System performance counter,不过这个需要对各种 counter 熟悉,记得10月份的《程序员》好像有关于.net 程序的检测分析,建议你可以看一下;先找到问题,再商量对策。