我需要从dataTable中添加新的工作表。对于这个任务,我用ClosedXML:ClosedXML。内存泄露while Workbook.Save()
workbook.Worksheets.Add(dataTable);
workbook.Save();
workbook = new XLWorkbook(filePath); //reload file to avoid exception at next saving
我的进程使用的内存128 MB但Workbook.Save()
后,这个数字上升至382兆。在添加下一个工作表内存使用从464 Mb增加到619 Mb之后。但在这一点上的实际文件是1.6 Mb。
这可能是什么原因?
还要注意的是,如果你运行'Debug'配置中的应用程序(通常这意味着优化是关闭的),也不能保证安置对象将当你希望他们实际配置。它们的对象通常保存在可以在调试器中查看它们的位置。切换到“释放”配置,以确保处置对象在您期望时收集垃圾。 –