C#的内存回收代码
程序员文章站
2024-02-11 21:49:40
本文实例讲述了c#的内存回收方法。分享给大家供大家参考。具体实现方法如下:
如下示例代码是调用win32底层操作,可实现内存的回收。 &...
本文实例讲述了c#的内存回收方法。分享给大家供大家参考。具体实现方法如下:
如下示例代码是调用win32底层操作,可实现内存的回收。
复制代码 代码如下:
[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);
}
}
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);
}
}
希望本文所述对大家的c#程序设计有所帮助。