Fork me on GitHub
如何立即回收内存C#

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

posted on   HackerVirus  阅读(773)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
历史上的今天:
2018-09-11 为什么使用框架
2018-09-11 卷积神经网络中卷积层和池化层
2017-09-11 Mac OS X
2017-09-11 JavaWeb网站技术架构
2017-09-11 fullcalendar插件日程管理
2017-09-11 vue后台管理框架
2017-09-11 NET Core应用可以同时运行在Windows Container和Linux Container-1
点击右上角即可分享
微信分享提示