He estado jugando con GC.GetTotalMemory(). Cuando creo una variable local de tipo Títulos en el ejemplo a continuación, la cantidad consumida de memoria aumenta en 6276 bytes. ¿Que está pasando aqui?¿Por qué GC.GetTotalMemory() informa grandes asignaciones de memoria?
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);
}
}
6 KB parece una extraña definición de "enorme" – jalf
No me sorprendería que 'Console.WriteLine (...)' asigna memoria . – bendin
6KB es "enorme" porque lo que uno espera es un aumento de exactamente 0 bytes. –