[DllImport("psapi.dll")]
static extern int EmptyWorkingSet(IntPtr hwProc);
/// <summary>
/// 释放内存
/// </summary>
public static void ClearMemory()
{
GC.Collect();
GC.WaitForPendingFinalizers();
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
{
////以下系统进程没有权限,所以跳过,防止出错影响效率。
if ((process.ProcessName == "System") && (process.ProcessName == "Idle"))
{
try
{
EmptyWorkingSet(process.Handle);
}
catch
}
}
}
static extern int EmptyWorkingSet(IntPtr hwProc);
/// <summary>
/// 释放内存
/// </summary>
public static void ClearMemory()
{
GC.Collect();
GC.WaitForPendingFinalizers();
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
{
////以下系统进程没有权限,所以跳过,防止出错影响效率。
if ((process.ProcessName == "System") && (process.ProcessName == "Idle"))
{
try
{
EmptyWorkingSet(process.Handle);
}
catch
{
}
}
}
本文介绍了如何通过使用.NET框架的GC.Collect()方法和Psapi.dll中的EmptyWorkingSet函数来有效清理内存,释放系统资源,提高应用程序性能。
523

被折叠的 条评论
为什么被折叠?



