Newsgroup Archiv - Beiträge

auf www.Bastie.de

OutofMemory mit createImage

Frager: Thomas Rachel vom Mittwoch, 27. Januar 2001
Hallo Java Fans,
ich habe ein Programm geschrieben, dass den doublebuffer benutzt (also Image). Jetzt möchte ich gern, dass nach einem Tastendruck das Image breiter wird. Das funktioniert auch aber nur drei mal, dann kommt OutofMemory. Wie kann ich das alte Image den löschen, damit ich einen neuen aufbauen kann.
Wenn ich nämlich einen anderen Image z.B. offImage2 = createImage(offDimension.width, offDimension.height); mache, dann gibt es keinen Memory - Fehler, obwohl er ja genauso viel Platz braucht.
Also, wie kann ich das alte Image überschreiben ohne ein weiters image einzufügen.
Martin
1. Antwort: Markus Junginger vom Mittwoch, 27. Januar 2001
So weit ich weiß, ist es nicht garantiert, dass finialize aufgerufen wird (strange!?). Könntest allerdings die zwei Aufrufe
System.gc();
und System.runFinalization();
probieren.
Jetzt hängt's von der VM ab was sie macht...
Gibt noch zwei andere Möglichkeiten:
System.runFinalizersOnExit(boolean value) ;
-> ist aber veraltet und es gibt afaik keinen Ersatz
Ab 1.3 gibt's addShutdownHook(Thread hook) in Runtime. Hiermit könntest du eigene Aufräum-Rountinen implementieren....
Die finalize() Methode ist ja total vermurkst... Oder habe ich etwas übersehen?
Markus Junginger
1.1. Antwort: Thomas Rachel vom Mittwoch, 27. Januar 2001
[...]

zur Übersicht

all rights reserved © Bastie - Sebastian Ritter @: w³: http://www.Bastie.de
Diese Seite ist Bestandteil der Internetpräsenz unter http://www.Bastie.de


Java Cobol Software Resourcen Service Links Über mich Zum Gästebuch Forum