Bonjour,

J'ai écrit une application managée en C++ mais je constate différents problèmes :

1) Le programme même en mode "released" est extrèmement gourmand en mémoire (18Mo dès le départ)
2) Je constate une fuite mémoire de quelques ko à chaque fois que mon algo se lance (chaque seconde). J'ai pourtant fait attention à associer un "delete" pour chaque "gcnew".
3) Lorsque je bouge la fenêtre de mon application (glisser déplacé), je constate également une fuite de mémoire assez importante (plusieurs ko) et la mémoire ne diminue pas.
PS : Je n'ai pas de code en relation avec l'événement de déplacement ou de redessin de la fenêtre

Mes questions en rapport avec tout ça :

1) En admettant que mon programme ne soit pas bien conçu et qu'il y ait une fuite que je n'ai pas vu, est-ce que le garbage collector va se charger de libérer la mémoire mal libérée ?
2) Pourquoi mon logiciel (tout petit) prend il presque 20Mo au démarrage
3) Pourquoi la mémoire occupée par mon logiciel augmente quand je bouge la fenêtre ?
4) dernière question : Quand je déclare dans une méthode des "System::String^" dois-je les libérer ?

Exemple :
Code :
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
void foo()
{
    System::String^ toto = "ma chaine";
}
dois-je écrire "delete toto" à la fin de ma méthode ?

En vous remerciant