码迷,mamicode.com
首页 > 其他好文 > 详细

C# 处理应用程序减少内存占用

时间:2014-10-08 16:34:15      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   使用   ar   java   

系统启动起来以后,内存占用越来越大,使用析构函数、GC.Collect什么的也不见效果,后来查了好久,找到了个办法,就是使用 SetProcessWorkingSetSize函数。这个函数是Windows API 函数。下面是使用的方法:

bubuko.com,布布扣
bubuko.com,布布扣[System.Runtime.InteropServices.DllImportAttribute("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize", ExactSpelling = true, CharSet =
bubuko.com,布布扣System.Runtime.InteropServices.CharSet.Ansi, SetLastError = true)]
bubuko.com,布布扣private static extern int SetProcessWorkingSetSize(IntPtr process, int minimumWorkingSetSize, int maximumWorkingSetSize);
bubuko.com,布布扣
bubuko.com,布布扣public void Dispose()
bubuko.com,布布扣bubuko.com,布布扣{
bubuko.com,布布扣    GC.Collect();
bubuko.com,布布扣    GC.SuppressFinalize(this);
bubuko.com,布布扣
bubuko.com,布布扣    if (Environment.OSVersion.Platform == PlatformID.Win32NT)
bubuko.com,布布扣    bubuko.com,布布扣{
bubuko.com,布布扣        SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1-1);
bubuko.com,布布扣    }
bubuko.com,布布扣}
bubuko.com,布布扣

使用这个函数也会有些问题,具体的可以参见:

http://hi.baidu.com/taobaoshoping/blog/item/a1f6baf52d523a21bd3109f5.html

 

本文章转载自 http://www.cnblogs.com/pdfw/archive/2009/04/22/1441477.html 

C# 处理应用程序减少内存占用

标签:style   blog   http   color   io   os   使用   ar   java   

原文地址:http://www.cnblogs.com/qiyecao/p/4011104.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!