有时,我可以创建一个 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 数量...