更改表单背景图像占用太多内存

本文关键字:太多 内存 图像 表单 背景 | 更新日期: 2023-09-27 18:34:27

我在Windows窗体中创建了一个小游戏,并使用属性backgroudimage。我创建新的位图并将其提供给表单。问题是,程序使用了太多的内存 - 每次它做制作新位图的过程时,它都会添加更多的2k!过了一会儿,我想垃圾收集器将它们全部删除(内存立即下降),但它可以达到 800k,这对我的小游戏来说很荒谬。将位图放入表单属性后,我对位图没有任何引用,即使我将位图设置为 null,问题也没有解决。我该怎么做才能解决该内存问题?谢谢!

更改表单背景图像占用太多内存

在设置新图像之前获取对上一个图像的引用,以便可以释放它:

Image oldImage = this.BackgroundImage;
this.BackgroundImage = newImage;
oldImage.Dispose();