我新建了个Application桌面WinForm程序,什么控件都没拖上去跑起来就消耗了我15M左右的内存,如何能让它消耗的内存小点呢,如何优化

解决方案 »

  1.   

    using System.Runtime.InteropServices;
    using System.Diagnostics;[DllImport("kernel32.dll")] 
    private static extern bool SetProcessWorkingSetSize(IntPtr process,int minSize, int maxSize);
                                            
    private static void FlushMemory()
    {
     GC.Collect();     
     GC.WaitForPendingFinalizers(); 
     if(Environment.OSVersion.Platform == PlatformID.Win32NT)
      SetProcessWorkingSetSize( Process.GetCurrentProcess().Handle , -1, -1);
    }试试
      

  2.   

    CLR默认加载了一些常用的DLL,所以导致默认使用的内存比较大(界面的控件等等)。同意2楼的做法,不过垃圾回收不定起作用,因为LZ的程序没使用任何可回收的变量。同意1楼的方法,这个可以使用代码将程序最小化然后再还原来处理。(最小化的时候操作系统会释放一些资源)