超級小白,終于做了有點模樣的東西,因為這個小軟體是要7X24小時運行的,所以記憶體管理肯定很重要,我copy了一個記憶體管理的類進去,具體如下
public static class ClearMemoryInfo
{
[DllImport("kernel32.dll")]
private static extern bool SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
/// <summary>
/// 強制清理記憶體
/// </summary>
public static void FlushMemory()
{
GC.Collect();
GC.WaitForPendingFinalizers();
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
//System.Diagnostics.Process.GetCurrentProcess().MinWorkingSet = new System.IntPtr(5);
}
}
不過我看Diagnostic Tool的Process Memory 還是會隨著運行的時間增長,請問這個情況是否要處理,怎么處理,謝謝!

uj5u.com熱心網友回復:
先GC試試,你這個估計很難處理托管的物件Winform啥記憶體清理都是浮云,重啟一下程式,才是最好的
uj5u.com熱心網友回復:
你把程式release模式發布一下,正式環境中運行看看效果。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/38087.html
標籤:C#
上一篇:NET CORE API權限控制之JWT的創建和參考
下一篇:總是提示在環境外部被修改。。。
