Hi ihr,
Ich bin gerade über etwas gestolpert, was mich etwas stutzig macht. Ich zweifel zwar nicht an meinem Verstand, aber an meinem Wissen bezgl. der Speicherverwaltung von Windows (oder Delphi? Oder ist doch
alzaimar schuld?)
Ich mache kurz gesagt folgendes:
Delphi-Quellcode:
TORPNode = class(TObject)
ID: Cardinal;
MercLat: Single;
MercLon: Single;
end;
- Mittels Create; erstelle ich eine neue Instanz von TORPNode
- Dann übergebe ich sie via Add; an ein TIntegerDictionary
- Freu mich und beginne wieder bei Punkt 1
So steigt natürlich einmählich die Speicherauslastung an. Bei ungefähr 20 MB Speicherauslastungs (laut Taskmanager) bricht die Auslastung wieder auf den Startwert ein, steigt allerdings schneller (zumindest wirkt es so). Zu diesem Zeitpunkt dürfte er ein paar Tausend Objekte erstellt haben.
Kann mir jemand erklären, was da passiert? Ich hätte jetzt erwartet, dass sie immer weiter steigt, und nicht plötzlich weniger wird...
Wenn ihr noch weitere Parameter braucht (Genaue Anzahl der Elemente, etc.) liefer ich das gerne nach...
//Edit:
Eben habe ich das Programm nochmal durchlaufen lassen, da hat er das Verhalten nicht mehr gezeigt.
Bin ich einfach übermüdet, oder ist der Taskmanager für sowas nicht verlässlich?