winform自动处理程序长时间运行内存有时候不断变大解决方案

时间:2014-4-25    作者:trailer    分类: gis二次开发


最近有个项目 做了一个winform程序需要一直运行。一直加载一直出图,看到占用内存越来越大,

后来在网上找到了很好的解决方案。代码如下


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)

            {

                SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);

            }

        }

endregion





释放的时候直接调用即可。很赞的方法。效果挺明显的。

标签: winform

WRITTEN BY

avatar


评论:

树箅子 2014-05-04 11:48
原来是这么着弄的呀,谢谢分享