Mal eine Nebenfrage - warum wandelst du das Bild in Base64 um und erhälts dadurch eine Datenredundanz (Größenanstieg 133,3*%) - ist es nicht möglich, es direkt als Stream abzuspeichern?
Zum Problem mit der Datenredundanz: Falls du das Bild direkt Base64 - enkodierst, würde ich dir vorschlagen, zuerst den Datenstrom zu komprimieren und anschließend die Kodierung vorzunehmen.
Aber ich schätze mal, du machst das sowieso?!
Ich speichere die Daten in einer Textdatei (ggf. komprimiert) und lese die zur Laufzeit in Objekte. Die Binärdaten liegen daher erst einmal als String vor und dieser String wird von der
GUI zur Darstellung verwendet.
Nach der Rückwandlung in einen Stream und Kopieren in ein Bitmap hatte ich den bisher Stream wieder freigegeben. Das wurde dann allerdings etwas langsam, wenn mehrere Bilder anzuzeigen sind.
Jetzt behalte ich den Stream und wandle nur neu um, wenn neue Daten (String) in dem verwendeten Objekt vorliegen.
So funktioniert jetzt alles wunderbar.