XmlSerializer extraTypes Speicherverlust
Ich entwickle eine Anwendung, die viele XmlSerializer-Konstruktoren mit extraTypes-Parametern aufruft. Ich habe herausgefunden, dass jeder Aufruf Anwendungsspeicher für ca. 100 KB und 2 Deskriptoren (manchmal mehr) erhöht. Code-Beispiel:
dieser Code vergrößert den Anwendungsspeicher für 100 KB und 2 Handler pro Aufruf
while (true)
{
Console.ReadLine();
new XmlSerializer(typeof (object), new Type[] {});
}
dieser Code vergrößert den Anwendungsspeicher für 43024KB- und 2004-Handler
for (var i = 0; i < 1000; i++)
{
new XmlSerializer(typeof (object), new Type[] {});
}
so nur ein einfaches Beispiel für eine Konsolenanwendung:
internal class Program
{
private static void Main(string[] args)
{
//this code encrease application memory for 43024KB and 2004 handlers
for (var i = 0; i < 1000; i++)
{
new XmlSerializer(typeof (object), new Type[] {});
}
Console.WriteLine("Finished. Press any key to continue...");
Console.ReadLine();
}
}
Ist es ein Fehler in XmlSerializer oder mache ich etwas falsch?
Ps. Gleiches gilt für Code optimieren und Build @ freigebe