我的应用程序有 10 个锯齿状数组和 5 个列表。平均数据填充了不同的数据,例如双精度或字符串类型。所以我知道我的应用程序必须消耗大量内存,但我如何确定正在使用的内存总量?
我已经阅读过使用,GC.GetTotalMemory
所以我做的第一件事是这样的:
var initialMemory = System.GC.GetTotalMemory(true);
many line of code
...
..
var finalMemory = System.GC.GetTotalMemory(true);
var consumption = finalMemory - initialMemory;
所有代码都在main()
调用他的函数的函数中,但最终结果为零。我看到它finalMemory
也为零,那么首先发生了什么?初始记忆有一个数字,但最终没有。
是System.GC.GetTotalMemory
找出我的应用程序使用的内存总量的最佳选择吗?