个性化阅读
专注于IT技术分析

如何检索你自己的C#WinForms应用程序中使用的内存量

本文概述

应用程序的性能保证了它将在大多数最终用户计算机上使用而不会带来麻烦。你将需要在每个可能占用大量内存的重要应用程序上不断监视应用程序的当前内存使用情况。这将允许你修改应用程序的代码, 以便随着其RAM需求的增加进行优化, 从而避免了C#中致命的OutOfMemoryException异常。

有一种非常简单的方法来获取应用程序的内存使用量, 而无需依赖外部库或依赖项, 而仅依赖于.NET Framework本身, 我将向你说明如何轻松地在应用程序内部获取此值。

1.导入System.Diagnostics

为了获得你的应用程序使用的当前内存, 我们将依赖于.NET的System.Diagnostics命名空间中的Process类。你可以使用以下行轻松将其导入到班级顶部:

using System.Diagnostics;

然后, Process类将在代码中可用。

2.获取专用内存量

现在, 从导入的名称空间中, 调用Process类的静态GetCurrentProcess方法, 并将其值存储在Process类型的变量中。获得的流程实例将具有PrivateMemorySize64 long属性, 该属性表示为关联的流程分配的私有内存量(以字节为单位):

// 1. Obtain the current application process
Process currentProcess = Process.GetCurrentProcess();

// 2. Obtain the used memory by the process
long usedMemory = currentProcess.PrivateMemorySize64;

// 3. Display value in the terminal output
Console.WriteLine(usedMemory);

例如, 连续运行所描述的代码将在终端中打印该值, 并将连续增加已使用的内存值(大约18/19 MB):

18632704
18698240
18763776
18829312
18960384
19025920

该属性可以与32位或64位操作系统和处理器一起使用。

编码愉快!

赞(0)
未经允许不得转载:srcmini » 如何检索你自己的C#WinForms应用程序中使用的内存量

评论 抢沙发

评论前必须登录!