extraTypesパラメータでXmlSerializerコンストラクタをたくさん呼び出すアプリケーションを開発しています。私は、各呼び出しが約100KBと2つの記述子(時にはそれ以上)のためにアプリケーションメモリを引き出すことを知りました。 コード例:100キロバイト、各コールXmlSerializer extraTypesメモリリーク
while (true)
{
Console.ReadLine();
new XmlSerializer(typeof (object), new Type[] {});
}
43024キロバイトと2004のハンドラ
for (var i = 0; i < 1000; i++)
{
new XmlSerializer(typeof (object), new Type[] {});
}
のこれだけsiplest例えば、このコードencreaseアプリケーションメモリあたり2つのハンドラの
このコードencreaseのアプリケーションメモリコンソールアプリケーション:
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();
}
}
XmlSerializerのバグですか、何か間違っているimですか?
p.s.上の最適化コードと同じと
[StreamReaderとXmlSerializerを使用してメモリリークが発生する](https://stackoverflow.com/questions/23897145/memory-leak-using-streamreader-and-xmlserializer) – dbc