[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Qt - Memory Leak?



On 10.Jul 2003 - 17:26:55, Patrick Schnorbus wrote:
> Hallo Erik,
> 
> On Thursday 10 July 2003 07:22, Erik Thiele wrote:
> 
> > > > Es scheint so, als ob sich QTextEdit bei Bedarf neuen Speicher zwar
> > > > allokiert, ihn aber nicht wieder freigibt, wenn er nicht mehr
> > > > benoetigt wird. Kann das jemand reproduzieren?
> > > > Ich verwende Woody mit Qt 3.1.2.
> >
> > Das ist durchaus drin. Wenn es dich stört, würde ich einen eigenen
> > Editor schreiben. Zum Speichern des Inhaltes kannst du zum Beispiel eine
> > STL Rope verwenden.
> >
> > Wenn das doch zu viel Aufwand ist, so lösche das QTextEdit und erzeuge
> > ein neues.
> >
> > QString old=mytextedit->text();
> > delete mytextedit;
> > mytextedit = new QTextEdit (this);
> > mytextedit->setText(old);
> > foolayout->insertbla(mytextedit,bla);
> >
> > irgendwie so.
> >
> > Eine ordentliche Editor Speicherverwaltung wäre zum Beispiel:
> >
> > Sobald der Edit Puffer überläuft, verdoppele seine größe.
> >
> > Sobald der Edit Puffer nur ein Viertel gefüllt ist, halbiere seine
> > größe.
> >
> > [...]
> 
> Klar. Mein eigentliches Problem ist auch leicht anders. Ich programmiere einen 
> Client fuer HTML-Webchats. Jede neue Zeile wird in einem QTextBrowser 
> (subclass von QTextEdit) angehaengt. Wenn man mal ein paar Stunden chattet 
> ist der Speicherverbrauch dann doch recht hoch. Und wenn man den Stream dann 
> "loescht", bleibt die Speichernutzung konstant so hoch. In dem Fall waere es 
> wohl wirklich am einfachsten, das Objekt zu loeschen und ein neues zu 
> instantiieren, da es ja nur die Optionen "voll" und "leer" gibt.

Hmm, sehe ich das richtig, das nur ein Teil des bereits geschriebenen
Textes benötigt wird? Dann würd ich das QTextedit so abändern das er
intern eine Ringspeicherform benutzt, gibts in den stl's bestimmt schon
fertig und wenn nicht sollte es auch mit QPtrList kein Grosses Problem
sein das selbst zu implementieren.

Andreas

-- 
Ist des Bauern Gras recht braun, muß er wohl ein Plumsklo bau'n.



Reply to: