zoukankan      html  css  js  c++  java
  • [原创]怎么降低Winform程序占用的内存

    前段时间一直纠结于一个问题, winform程序占用的内存数一直居高不下,提供给用户的手册中说明内存不能大于50MB,但是每次运行的时候,内存都会飙高到100多MB.

    后来终于发现了一个方法,可以解决这个问题:    

      #region 内存回收
    
            [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")]
            public static extern int SetProcessWorkingSetSize(IntPtr process,
                int minSize,
                int maxSize
    );
    
            /// <summary>
            /// 释放内存
            /// </summary>
            public static void ClearMemory()
            {
                GC.Collect();
                GC.WaitForPendingFinalizers();
                if (Environment.OSVersion.Platform == PlatformID.Win32NT)
                {
                    App.SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
                }
            }
    
            #endregion
    
     

    在程序中用一个计时器,每隔几秒钟调用一次该函数,打开任务管理器,你会有惊奇的发现。


    本博客文章若非标记转载,均为原创,转载请注明出处~


  • 相关阅读:
    spring源码阅读(一)
    多线程学习(十)
    多线程学习(九)
    多线程学习(八)
    多线程学习(七)
    多线程学习(六)
    多线程学习(五)
    多线程学习(四)
    matlab-table
    Matlab
  • 原文地址:https://www.cnblogs.com/wbpmrck/p/1987685.html
Copyright © 2011-2022 走看看