7
我一直在玩GC.GetTotalMemory()。当我在下面的例子中创建一个标题类型的局部变量时,所消耗的内存量增加了6276字节。这里发生了什么?GC.GetTotalMemory()为什么报告大量的内存分配?
class Program
{
enum Titles { Mr, Ms, Mrs, Dr };
static void Main(string[] args)
{
GetTotalMemory();
Titles t = Titles.Dr;
GetTotalMemory();
}
static void GetTotalMemory()
{
long bytes = GC.GetTotalMemory(true);
Console.WriteLine("{0}", bytes);
}
}
6KB看起来的“庞大” – jalf 2010-04-02 11:26:03
一个奇怪的定义,如果'Console.WriteLine(...)'分配内存,它不会让我感到吃惊。 – bendin 2010-04-02 11:26:05
6KB是“巨大的”,因为人们期望的是正好增加0字节。 – 2010-04-02 11:35:02