繁体   English   中英

获取可用的可用 RAM 内存 C#

[英]Get Available Free RAM Memory C#

需要每 1 秒执行一次空闲可用内存,所以我使用方法和计时器滴答,但它没有改变,它在标签文本中始终显示 8081MB。 那么如何让它每1秒检查一次呢? 因为用电脑内存也变了。 这是我的代码:

    // Get Available Memory 
        public void getAvailableRAM()
        {
            ComputerInfo CI = new ComputerInfo();
            ulong mem = ulong.Parse(CI.TotalPhysicalMemory.ToString());
            lbl_Avilable_Memory.Text = (mem / (1024 * 1024) + " MB").ToString();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            // Get Available Memory Timer 

            ram_timer.Enabled = true;

            // end memory 

        }
        private void ram_timer_Tick(object sender, EventArgs e)
        {
            getAvailableRAM();
        }

试试这个...

包括对Microsoft.VisualBasic dll 的引用:

using Microsoft.VisualBasic.Devices;

...然后按如下方式更新您的标签:

lbl_Avilable_Memory.Text = new ComputerInfo().AvailablePhysicalMemory.ToString() + " bytes free";

...或者...

lbl_Avilable_Memory.Text = (ComputerInfo().AvailablePhysicalMemory / 1048576) + "mb free";

笔记:

  1. 优先于您之前使用的TotalPhysicalMemory属性引用ComputerInfo类的AvailablePhysicalMemory属性。
  2. 不需要getAvailableRAM()方法。 ram_timer_tick的调用替换为lbl_Avilable_Memory.Text = (ComputerInfo().AvailablePhysicalMemory / 1048576) + "mb free";
  3. 同样值得考虑的是,以get开头的方法应该返回一个值。 如果该方法要保留,那么我建议将其重命名为SetLbl_Avilable_Memory()
  4. 您在标签名称中拼错了available的单词。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM