• .Net Client, WinForm or WPF内存使用控制的代码


      class MemoryClearService
        {
            private static System.Threading.Timer timer;
            public void Start()
            {
                timer = new Timer(Callback, null, TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(30));
            }

            static void Callback(object state)
            {
                MemoryUtil.FlushMemory();
            }
        }

        /// <summary>
        /// ref: http://blog.csdn.net/jingang123gz/archive/2008/07/16/2662975.aspx
        /// </summary>
        class MemoryUtil
        {
            [DllImport("kernel32.dll")]
            public static extern bool SetProcessWorkingSetSize(IntPtr proc, int min, int max);

            public static void FlushMemory()
            {
                GC.Collect();
                GC.WaitForPendingFinalizers();
                if (Environment.OSVersion.Platform == PlatformID.Win32NT)
                {
                    SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
                }
            }
        }
  • 相关阅读:
    冒泡排序
    Objective-C 命名规范
    时间轴的制作
    CocoaPods 哪些事
    消息转发机制入门篇
    架构
    算法学习
    AutoLayout自动布局
    网络学习
    HDU 3832 Earth Hour (最短路)
  • 原文地址:https://www.cnblogs.com/jianyi0115/p/1749728.html
Copyright © 2020-2023  润新知