ich ähnliche Probleme gegoogelt haben könnte, aber nicht genau herauszufinden, wie mein CodeEine nicht behandelte Ausnahme des Typs ‚System.OutOfMemoryException‘ aufgetreten in System.Drawing.dll Zusätzliche Informationen: Nicht genügend Arbeitsspeicher
zu ändern habe ich eine Liste "Bilder", die etwa 20 Fotos von jeweils 1 MB enthält. Ich möchte die Bilder in der Liste durchblättern, indem ich auf die nächste Schaltfläche klicke. Aber nach etwa 8 Bilder Ich steige aus der Erinnerung
private void button4_Click(object sender, EventArgs e) //next
{
index++;
if (index >= images.Count) index = 0;
CurrImage = images[index];
Bitmap b = new Bitmap((Bitmap)CurrImage.Clone()); //breakpoint occurs her
pictureBox1.Image = b;
NewThread = new Thread(new ThreadStart(ChooseColors2));
}
ChooseColors2 thread „CurrImage“ verwenden, so Rennbedingungen zu vermeiden, vermied ich es, dass durch eine neue Bitmap zu schaffen, wie oben
gezeigt Bitte beachten Sie, dass, wenn ich benutze imageBox1.Image = CurrImage; Ohne eine neue Bitmap zu erstellen, erhalte ich diesen Fehler nicht, aber es wird eine Racebedingung-Ausnahme mit dem Thread geben. Dank
Dank Grant, ich glaube, ich brauche mehr über Speicher lesen Leck. Wann immer ich denke, dass ich ein Programmierer geworden bin, merke ich dann, dass ich noch Meilen entfernt bin. Danke trotzdem für deine Hilfe. – Basco