, i * 10, j * 10, 10, 10); this.CreateGraphics().DrawImage(bmp, 0, 0); } 要测试上述代码,进行如下操作: 新建一个Windows Application(C# Form)应用; 将TextGdiLeak添加为Form1的成员; 在Form1上放置一个Timer timer1,将其Interval设为10; 在Form1构造函数中调用timer1.Start(); 在timer1的Tick事件处理函数中调用TestGdiLeak方法); 在适当的地方调用timer1.Stop()。 编译运行该应用,打开“Windows任务管理器”检查其进程,发现内存使用率不停地上升。显然,是GDI+使用不当造成的。初步猜测为在每次timer1的Tick事件调用该方法时,Bitmap对象没有被及时地垃圾收集掉。尝试将代码修改为: public void TestGdiLeak() { us页码:[1] [2] [3] [4] [5] 第2页、共5页 |