zoukankan      html  css  js  c++  java
  • C# 释放内存的方法

    如何释放内存:

     1 [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")]
     2 public static extern int SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
     3 
     4 /// <summary>
     5 /// 释放内存
     6 /// </summary>
     7 public static void ClearMemory()
     8 {
     9      GC.Collect();
    10      GC.WaitForPendingFinalizers();
    11      if (Environment.OSVersion.Platform == PlatformID.Win32NT)
    12      {
    13          SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
    14      }
    15 }

    如何获取当前应用占用的内存大小:

     1 /// <summary>
     2 /// 释放内存
     3 /// </summary>
     4 public static void ClearMemory()
     5 {
     6      //获得当前工作进程
     7      Process proc = Process.GetCurrentProcess();
     8      long usedMemory = proc.PrivateMemorySize64;
     9      if (usedMemory > 1024 * 1024 * 20)
    10      {
    11          GC.Collect();
    12          GC.WaitForPendingFinalizers();
    13          if (Environment.OSVersion.Platform == PlatformID.Win32NT)
    14          {
    15              SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
    16          }
    17      }
    18 }
  • 相关阅读:
    第五周课程总结&实验报告(三)
    第四周Java实验总结&学习总结
    第三周课程总结&实验报告
    第二周JAVA学习总结
    大一学习总结
    寒假第一次作业
    寒假第二次作业
    第十周课程总结
    第九周课程总结&实验报告(七)
    第八周课程总结&实验报告(六)
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/14275706.html
Copyright © 2011-2022 走看看