Foxtable(狐表)用户栏目专家坐堂 → 内存——狐表的致命问题,准备入手狐表的慎重了


  共有4095人关注过本帖树形打印复制链接

主题:内存——狐表的致命问题,准备入手狐表的慎重了

帅哥哟,离线,有人找我吗?
鲁吉
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:710 积分:5345 威望:0 精华:0 注册:2013/5/27 9:48:00
  发帖心情 Post By:2016/9/17 19:50:00 [显示全部帖子]

网上搜来的:
让.NET程序快速释放内存的办法
[DllImport("kernel32.dll")]
        public static extern bool SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);

public static void GarbageCollect()
        {
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();
        }

        public static void FlushMemory()
        {
            GarbageCollect();

            if (Environment.OSVersion.Platform == PlatformID.Win32NT)
            {
                Win32.SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
            }
        }

NET里面还有一个类可以达到这个效果
   System.Diagnostics.Process.GetCurrentProcess().MinWorkingSet = new System.IntPtr(5);

采用定时释放+窗体打开的时候,效果很好,估计程序占的内存会在20以下

 回到顶部