Beiträge: 396
Themen: 8
Registriert seit: Sep 2013
Bewertung:
0
Ich schau mal nach Leaks. Beim ersten Start ist das normal, da einige Fonts und andere Systemresourcen geladen werden die das OS weiter im Speicher hlt für das nächste mal. Beim zweiten Start sollte das aber nicht mehr passieren.
Beiträge: 289
Themen: 10
Registriert seit: Oct 2013
Bewertung:
0
Fang bei der ab3support.library an die frisst ca 1kByte wenn man nur öffnen pft_create{4096,0} pft_free{} und direkt wieder schließt. Wo bei die Speicher menge proportional mit der Größe von pft_create{} wächst!
Zu NTUI selbst da hast du teilweise auch vergessen beim Freigeben (deinit) den Speicher der Struktur selbst freizugeben.
Dann tuiGlobal\xmlCallMAP wird nicht freigegeben mit pft_free{}, Deletepool für engine\notifyPool fehlt und wenn ich es richtig gesehen habe fehlt ein FreeVec_ für *listView\ListP beim Deinit, sowie die Verkleinerung des belegten Speichers wenn ein Item entfernt wird.
Beiträge: 396
Themen: 8
Registriert seit: Sep 2013
Bewertung:
0
Ein Deinit() gibt die Struct nicht frei. Sonst wäre es ein Delete() (C++) oder Destroy() (allgemeiner OOP Terminus).
Genauso wie ein Init() keinen Speicher allokiert, sondern die vorhandene Struct initialisiert. Sonst wäre es ein New() bzw. Create().
Deinit : de-initialisiert eine Struct
Init : initialisiert eine Struct
Free : gibt den Speicher einer Struct frei
Alloc : allociert den Speicher für eine Struct
New/Create: Alloc + Init
Delete/Destroy: Deinit + Free
Habe mich aber selbst nicht konsequent dran gehalten. Evtl. sollte ich das ändern. Fehlt mir nur die Zeit...
Aber danke für die Analyse. Was tatäschlich ein Fehler ist werde ich beheben.
Beiträge: 666
Themen: 77
Registriert seit: Oct 2013
Bewertung:
0
gibts denn hier einen Vortschritt zu vermelden ?