在C# winform應用程式中,用以下代碼可以進行一些記憶體使用量的最佳化
複製代碼 代碼如下:using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
/// <summary>
/// 包含各種記憶體管理、最佳化的方法
/// </summary>
public class Memory
{
private static readonly Version myVersion = new Version(1, 0);
/// <summary>
/// 將當前進程的記憶體佔用尺寸設定到最小
/// </summary>
/// <returns>0為成功,-1為失敗</returns>
public static int SetProcessMemoryToMin()
{
return SetProcessMemoryToMin(Process.GetCurrentProcess().Handle);
}
/// <summary>
/// 將記憶體佔用尺寸設定到最小
/// </summary>
/// <param name="SetProcess">需要設定記憶體使用量範圍的程式進程控制代碼,一般為當前進程, 如:System.Diagnostics.Process.GetCurrentProcess().Handle</param>
/// <returns>0為成功,-1為失敗</returns>
public static int SetProcessMemoryToMin(IntPtr SetProcess)
{
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
return SetProcessWorkingSetSize(SetProcess, -1, -1);
}
return -1;
}
[DllImport("kernel32.dll")]
private static extern int SetProcessWorkingSetSize(IntPtr hProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize);
}