nichtmehr benötigtes BufferedImages aus dem Speicher entfern

Status
Nicht offen für weitere Antworten.

ridcully

Mitglied
Hallo,
weiß nicht ob ich die richtige Kategorie erwischt habe. Ich habe folgendes Problem. Ich habe ein Buffered Image geladen und Brauch es nicht mehr.Mal der komprimierte Code:
Code:
BufferedImage klein, gross;
File file = BildLaden.getSelectedFile();
try{					gross = ImageIO.read(file);
					maske.maskiere(gross,klein);
				}
				catch(IOException e){
					System.out.println("Fehler beim Laden"+e.getMessage());
				};
Nur damit ihr wisst, was ich meine. nach der aktion brauch ich das BufferedImage gross nicht mehr. Es bleibt aber im Speicher, und da es ein 60Mb tiff ist stört es da anschließend gewaltig.
Also wie werd ich es wieder los?
Danke schon mal im Vorraus
Gruß Rid
 

Stefan1200

Top Contributor
Vielleicht wurde der bereits vom Garbage Collector eingesammelt. Im Zweifelfall versuche mal ein Aufruf von System.gc() direkt nach dem BufferedImage nicht mehr gebraucht wird.

Wenn das auch nicht hilft, versuche mal klein = null; gross = null; Und danach System.gc()
 
G

Guest

Gast
das mit dem gc() aufruf hab ich schon erfolglos probiert. aber das mit gross=null werd ich mal testen. Danke
Rid
 

jptc.org

Bekanntes Mitglied
Nur mal zwei Sätze zum Garbage Collector. Prinzipiell kann der Garbage Collector Objekte nur entfernen, die nicht mehr gebraucht werden. D.h. es dürfen keine Referenzen mehr auf die Objekte existieren und naja das null setzen ist auch erforderlich. Wenn man das alles beachtet, dann räumt der Garbage Collector auch schön auf. Mit System.gc() kann man dem GC sagen, dass man gerne hätte, dass er läuft, aber er tut es dann nicht zwangläufig. D.h. nach dem Aufruf von System.gc() läuft der GC in den aller wenigsten Fällen sofort!!

Schaut dazu vielleicht auch mal den folgenden Artikel an:

http://www.java-performance-portal.org/article22.html (Weak References in Java)

Ich hoffe das konnte noch etwas zur Klarheit beitragen.

Karsten Voigt
http://www.java-performance-portal.org
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben