gpt4 book ai didi

c# - ImageSlider内存泄漏c#

转载 作者:太空宇宙 更新时间:2023-11-03 21:10:41 24 4
gpt4 key购买 nike

我在我创建的程序中使用了这样的代码,但我有一个 ram 内存的小问题,它不断增加并且占用了所有 ram。所以每次它改变图像时,内存都会增加。我想做的是处理以前的图像,这样我就不会限制内存。或者,如果有更好的方法来创建带有计时器的幻灯片放映,而不会限制内存,请为我指明正确的方向。谢谢。

private string [] folderFile = null;
private int selected = 0;
private int begin = 0;
private int end = 0;


private void showImage(string path)
{
Image imgtemp = Image.FromFile(path);
pictureBox1.Image = imgtemp;
}

private void nextImage()
{
if(selected == folderFile.Length - 1)
{
selected = 0;
showImage(folderFile[selected]);
}
else
{
selected = selected + 1;
showImage(folderFile[selected]);
}
}

private void timer1_Tick(object sender, System.EventArgs e)
{
nextImage();
}

最佳答案

您需要处理之前的图像。

private void showImage(string path)
{
Image oldImage = pictureBox1.Image;
Image imgtemp = Image.FromFile(path);
pictureBox1.Image = imgtemp;
if(oldImage != null)
oldImage.Dispose();
}

关于c# - ImageSlider内存泄漏c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37957517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com