Probleme mit Objekten in SWT-Anwendung

Dragowob

Grünschnabel
Hi @ll
Ich versuche mal mein Problem zu beschreiben.

Ich habe eine SWT-Maske, die sehr viele Daten liest und in eine Tabelle speichert.
Währen der Laufzeit sehe ich dann es gibt X-Instanzen von Datensätzen in meiner Tabelle.
Wenn ich nun die Maske schließe werden diese Instanzen(Live Instance) auch sauber gelöscht nach dem der GC los gelaufen ist.
Mein Problem ist nur das die "Total Instance" irgendwie nicht gelöscht werden aus welchem Grund auch immer.
Wenn ich nun das selbe nochmal durch führe sind meine Live Instance in der wichtigen Anzahl da, aber die Total Instance schon doppelt so hoch.

Nun weiß ich nicht wie ich die Total Instance wegbekomme, denn leider läuft mir der Heap Space regelmäßig über.

Anbei eine Grafik

Ich hoffe ich konnte es verständlich erklären und hoffe auf Hilfe
 

Anhänge

  • prob.jpg
    prob.jpg
    163,4 KB · Aufrufe: 17
Total zeigt doch meiner Meinung nach auch nur an wieviele überhaupt erzeugt wurde. Live zeigt an wieviele aktuell bestehen.
 
Problem ist aber das mir die Anwendung mit einem Heap Space überlauf weg rattert und der passiert genau dann, wenn die Total an die eingestellten 64 mb kommen
 
Hmm.... gibst du den Speicher aller verwendeten SWT-Objekte mit dispose wieder frei?

(Mir fällt gerade sonst nichts anderes dazu ein)
 
das mit dem dispose mache ich in der tat nicht aber muss ich denn wenn ich ein objekt schließe zwingend alle unterobjekte auch disposen?

reicht es nicht das 'Hauptobjekt' zu disposen

und mein problem sin die massen an Datensätzen ( die eine eigene struktur und objekt typ haben) die keinerlei referenz mehr haben aber mir den speicher dicht machen
 
Nein du musst nur das wieder freigeben was du auch selber erstellt hast.

Image, Font, GC, Color - Objekte gehören da zum Beispiel dazu, wenn sie selber mit new erzeugt wurden und nicht vom Display stammen.

Bist du sicher dass die Daten nicht mehr in einer Liste o.ä. stehen?
 
bin mir ganz sicher das die nirgends mehr stehen
es gibt ja auch keine referenzen mehr drauf

aber werde nachher mal schauen das ich alles dispose von unten nach oben
 
Zurück