如何立即回收内存C#
时间:2019-09-11 20:22:15
收藏:0
阅读:122
C#如何立即回收内存
1.把对象赋值为null
2.立即调用GC.Collect();
注意:这个也只是强制垃圾回收器去回收,但具体什么时候执行不确定。
代码:
[System.Runtime.InteropServices.DllImportAttribute("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize", ExactSpelling = true, CharSet =System.Runtime.InteropServices.CharSet.Ansi, SetLastError = true)] private static extern int SetProcessWorkingSetSize(IntPtr process, int minimumWorkingSetSize, int maximumWorkingSetSize); #region 内存回收 public void ClearMemory() { GC.Collect(); GC.SuppressFinalize(this); if (Environment.OSVersion.Platform == PlatformID.Win32NT) { SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1); } } #endregion ClearMemory();
https://blog.csdn.net/xwnxwn/article/details/78009071
原文:https://www.cnblogs.com/Leo_wl/p/11507878.html
评论(0)