有时,我可以创建一个 10000x10000 位图,有时我不能
取决于有多少可用物理 RAM 可用
我想知道是否有办法在进程开始之前弄清楚是否有足够的内存
您可以使用它来获取当前进程:
Process proc = Process.GetCurrentProcess();
然后使用它来获取私有内存使用情况:
proc.PrivateMemorySize64;
您也可以这样做(使用 System.Diagnostics.PerformaceCounter):
protected PerformanceCounter ramCounter;
ramCounter = new PerformanceCounter("Memory", "Available MBytes");
var freeRAMInMB = ramCounter.NextValue();
以上将获得以 MB 为单位的可用 RAM 量...