我正在开发一个背景更改应用程序。该应用程序的一部分是带有 3 个图像预览(3 个图像框)的幻灯片。上一个、当前和下一个图像。问题是每次计时器滴答时,应用程序都会占用大约 8 MB 的内存空间。我知道它最有可能是由图像绘制类引起的,但我不知道如何处理我不使用的图像。
更新:非常感谢。我需要对您提供的代码进行一些调整,但它现在可以工作了。当我在完全不同的对象上使用 dispose 方法之前尝试使用它时。谢谢你。
它按以下顺序工作。
- 加载多张图片
- 检索图像路径
- 设置更改图像的时间间隔
- 启动计时器
随着每个计时器滴答声,计时器执行以下操作
pictureBoxCurr.BackgroundImage = Image.FromFile(_filenames.ElementAt(_currNum)); pictureBoxPrev.BackgroundImage = Image.FromFile(_filenames.ElementAt(_currNum - 1)); pictureBoxNext.BackgroundImage = Image.FromFile(_filenames.ElementAt(_currNum + 1));
每次显示新预览时,内存使用量都会再占用 8MB 左右。我不知道究竟是什么占用了那个空间。
如果您知道导致问题的原因或有任何线索,请告诉我。