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

    原文:https://blog.csdn.net/zsy619/article/details/79181719

    --------------------- 

    如何释放内存:

    [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")]
    public static extern int SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
    
    /// <summary>
    /// 释放内存
    /// </summary>
    public static void ClearMemory()
    {
         GC.Collect();
         GC.WaitForPendingFinalizers();
         if (Environment.OSVersion.Platform == PlatformID.Win32NT)
         {
             SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
         }
    }

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

    /// <summary>
    /// 释放内存
    /// </summary>
    public static void ClearMemory()
    {
         //获得当前工作进程
         Process proc = Process.GetCurrentProcess();
         long usedMemory = proc.PrivateMemorySize64;
         if (usedMemory > 1024 * 1024 * 20)
         {
             GC.Collect();
             GC.WaitForPendingFinalizers();
             if (Environment.OSVersion.Platform == PlatformID.Win32NT)
             {
                 SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1);
             }
         }
    }
  • 相关阅读:
    Idea主题下载
    使用plsql创建用户并授权(图形化界面)
    PLSQL Developer 没有64位版本 + 找不到 msvcr71.dll
    NOIp2017TG解题报告
    Restart
    NOIp2018RP++
    其他题
    Errors
    NOIpDairy
    Code Style for OI
  • 原文地址:https://www.cnblogs.com/dabexiong/p/9907648.html
Copyright © 2011-2022 走看看