请在该方法最后加上GC.Collect();
谢谢!

解决方案 »

  1.   

    GC.Collect()我试过,也是不行的,
    应该和打印的机制有关系,如果注释掉g.DrawImage,则没有问题,
    因为对打印的机制不了解,所以不知道怎么解决了,
      

  2.   

    除非全部打印结束,要不然内存会一直加的,因为打印多页实际上是第归调用 OnPrintPage 函数。直到结束了,才能释放前面打印每一页占用的内存,要不然那些页放在哪里?
      

  3.   

    尽量不要用GC.Collect(),对你程序性能可能影响很大。都让GC自己处理好了。
      

  4.   

    你每页打印的图像是不是一样的?如果是,你可以试试把 Image imgPortrait  = null 设置成外部变量。