我需要從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'配置中的應用程序(通常這意味着優化是關閉的),也不能保證安置對象將當你希望他們實際配置。它們的對象通常保存在可以在調試器中查看它們的位置。切換到「釋放」配置,以確保處置對象在您期望時收集垃圾。 –