Speicherverbrauch von JDialog enorm

Status
Nicht offen für weitere Antworten.

Craven

Aktives Mitglied
Hallo!

Ich hab da ein Programm, in dem immer wieder Texte in Dialogen angezeigt wird (es ist eine Knowledgebase).

Mit jedem Aufruf eines Dialogs steigt der Speicher um über 1 MB an! Auch das direkte aufrufen des GC bringt nichts.

Jeder Dialog wird per "new" erzeugt.

Hier meine Frage:

Wie wird ein JDialog geschlossen, vernichtet und aus dem Speicher entfernt.

Danke

Craven
 

Sky

Top Contributor
1.) Warum verwendest Du einen Dialog nicht mehrfach ?

2.) Der GC kann ein Objekt frühestens dann wegräumen, wenn keine Referenzen mehr auf dieses zeigen. (Alle Referenzen explizit auf null setzen hilft in machen Fällen...)
 

Craven

Aktives Mitglied
Der Benutzer kann mehrere Dialoge gleichzeitig öffnen, um sich mehrere Artikel parallel anzusehen.

Code:
DetailedDialog dl = new DetailedDialog();
dl.set.....
dl.show();
dl = null;

Hab auch mal das = null direct nach dem show eingefühgt. Interessiert aber nicht.

Wie kann ich denn einen Dialog korrekt schließen, so daß er auch wirklich zerstört wird?
 

Sky

Top Contributor
Craven hat gesagt.:
Der Benutzer kann mehrere Dialoge gleichzeitig öffnen, um sich mehrere Artikel parallel anzusehen.

Ich habe vorher schon geschrieben: "Der GC kann ein Objekt frühestens dann wegräumen, wenn keine Referenzen mehr auf dieses zeigen." AlArenal hat meine Aussage freundlicherweise präzisiert: Es geht natürlich nicht nur um das Objekt, welches Du zerstören willst, sondern auch um die Abhängigen, die im Objekt selber referenziert sind. Diese Referenzen musst Du ebenfalls lösen.

Außerdem: Du kannst Dir einen "Pool" von Dialogen aufbauen und verwalten, ob er gerade aktiv oder nicht-aktiv ist. So kannst Du die zu erstellenden Instanzen weiter minimieren.

Nun noch die Frage: Kommt es überhaupt zu einem Fehlverhalten ? Ansonsten ist das (fast) schon egal, wie viele Speicher sich die VM nimmt...
 

Craven

Aktives Mitglied
Meine Anwendung startet mit 34 MB Speicherverbauch (lt. Taskmanager) und steigt dann fröhlich an. Mit jedem suchen/anzeigen von Artikeln wächst der Speicherverbrauch.

Ich werde mir die beiden Links mal anschauen und melde mich dann nochmal.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Datentypen interner Speicherverbrauch x64 long vs. int Allgemeine Java-Themen 8
B Speicherverbrauch Objekt-Referenz Allgemeine Java-Themen 11
B speicherverbrauch 2dimensionales array - rätsel?! Allgemeine Java-Themen 13
M Analysieren von Speicherverbrauch Allgemeine Java-Themen 5
lacco Speicherverbrauch von Arrays Allgemeine Java-Themen 2
O Speicherverbrauch von Java / VM sehr hoch? Allgemeine Java-Themen 27
G Speicherverbrauch einer Variable Allgemeine Java-Themen 2
G Speicherverbrauch eines Programms Allgemeine Java-Themen 2
L Speicherverbrauch einer Anwendung unter Windows Allgemeine Java-Themen 2
J Speicherverbrauch des Systems ermitteln Allgemeine Java-Themen 4
J Maximalen Speicherverbrauch ermöglichen Allgemeine Java-Themen 2
kodela JDialog zeigt Text nicht an Allgemeine Java-Themen 5
L Exception/Error auf JDialog umleiten Allgemeine Java-Themen 2
T Code durch eigenes Frame pausieren (ähnlich JDialog) Allgemeine Java-Themen 4
X Modalität von JDialog nachträglich in JFrame implementieren? Allgemeine Java-Themen 8
S JDialog Daten ins JFrame übergeben Allgemeine Java-Themen 5
T JDialog vor Hauptfenster beim Start Allgemeine Java-Themen 5
P Trotz setModal, der JDialog ist nicht modal ? Allgemeine Java-Themen 18
B gridbaglayout und modaler jdialog Allgemeine Java-Themen 7
D Probleme mit Browserfenster und modaler JDialog Allgemeine Java-Themen 17
J JDialog Bild als Hintergrund Allgemeine Java-Themen 19
S visible prob mit JFrame und JDialog Allgemeine Java-Themen 4
M Performance enorm langsam Allgemeine Java-Themen 26

Ähnliche Java Themen

Neue Themen


Oben