当前位置:首页 > c#内存占用高 定时清理内存的方法

c#内存占用高 定时清理内存的方法

点击次数:5816  更新日期:2014-05-29

c#程序运行后,内存占用越来越大,使用下面这段代码能够定时清理c#程序的内存


//在程序中用一个计时器,每隔几秒钟调用一次该函数

 

#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