Wie stellen Sie sicher, WPF-releases große BitmapSource aus dem Speicher?

System: Windows XP SP3 .NET 3.5, 4 GB RAM, Dual 1,6 gHz

Ich habe eine WPF-Anwendung, Belastungen und übergänge (mit Storyboard-Animation) extrem große PNGs. Diese PNGs werden 8190x1080 in der Auflösung. Wie die Anwendung ausgeführt wird, erscheint das Zwischenspeichern der Bilder und der Arbeitsspeicher langsam schleicht sich. Irgendwann streikt das system und wirft die OutOfMemoryException.

Hier sind die Schritte, die ich nehme zurzeit, zu versuchen, diese zu lösen:

1)ich bin das entfernen die BitmapSource-Objekte aus dem app

2)ich bin Einstellung der BitmapSource BitmapCacheOption None, wenn ich laden Sie die BitmapSource

3)ich friere die BitmapSource, sobald es geladen ist.

4)ich bin löschen Sie alle Verweise auf das Bild, das verwendet die Quelle sowie alle Verweise auf die Quelle selbst.

5)Manuell aufrufen von GC.Collect() nach dem oben beschriebenen Schritte abgeschlossen haben.

In der Hoffnung, um herauszufinden, warum WPF hängt auf Speicher für diese Bilder und eine mögliche Lösung, um sicherzustellen, dass der verwendete Speicher zu laden ist richtig erholt.

InformationsquelleAutor discorax | 2009-11-05

Schreibe einen Kommentar