我在我的应用程序中使用 System.Printing 库和 .net 框架 3.5。当我使用 PrintQueue.AddJob 在任何打印机上打印作业时,内存会增加并且不会释放它。仅当应用程序关闭时才会释放内存。如果我打印超过 10 个作业,那么我的应用程序会使用我计算机的所有内存,最后一切都会变慢。我观察到内存使用量达到 2GB,这是不可接受的。经过调查,我发现调用 PrintqQueue.AddJob 方法时内存会增加。
这是我的打印示例代码:
PrintServer printServer = newPrintServer(@"\\sshinde");
PrintQueue PrintQ = newPrintQueue(printServer, "HP_Printer", PrintSystemDesiredAccess.AdministratePrinter);
PrintQ.AddJob("xyz", @"C:\ProgramData\MyComapny\PrintSoftware\Config\Print_Manager\INPUT\d7a8a71b-4e73-43ec-8ee9-bbe24b3ba2cb.xps", false);