最少7M,大一点多达1几M,封装的太多了,除非不用WINFORM,用 API SDK自己动手写

解决方案 »

  1.   

    现在一个winform占用30M内存以内都不算高吧- -!看你程序多大了..呵呵,我写的淘宝自动充值软件也是超多线程.!最多的时候也就10几M
      

  2.   

    在Form的Disposing事件中,及时释放包括线程在内的非托管资源在控制Form切换的地方,及时调用废弃Form的Dispose方法,并调用GC.Collect()一次或两次
      

  3.   

    Form里面如果有方法被委托到线程中执行,也要及时结束线程或注销此委托。
      

  4.   

    GC.Collect()不好吧!很容易出问题的,最好用using之类的优化一下,让程序自己适时回收空间
      

  5.   

    .NET的内存问题,我研究过比较复制,虽然说有GC帮你做很多事,但是并不总是好用的。
    .NET的应用内存在32位操作系统理论上支持3G,我们做的应用服务超过1G的情况也发生过,没有什么问题的。如果发现内存过大,多数是有一些DATASET,DATATABLE这些大的对象没有释放,如果是界面层的话,在界面关闭的时候手工做一下DISPOSE和NULL,这样可以告诉内存可以清理了,也可以手工执行GC.COLLECT一下也行。如果还是经常内存过大的话,只能用WINDBG这个工具抓内存镜像来分析,不过比较复杂。一般人不会用。
    建议你用这个工具DebugDiag试试,帮你做了简单的分析。
      

  6.   

    几M的确不算什么,若你觉得是你的东西很少,不符合实际,那就仔细看看是否是某些东西一直占用内存却没有被释放,一般都不需要显示去释放,但想文件操作流,内存流,GDI+ 里的某些成员等,还有就是17楼大哥说的显示注销委托