Pourquoi et Comment les éviter Gestionnaire d'Événement fuites de mémoire?

Je viens de réaliser, par la lecture de quelques questions et réponses sur StackOverflow, que l'ajout de gestionnaires d'événements à l'aide de += en C# (ou je suppose que, d'autres .net languages) peut provoquer des courants de fuites de mémoire...

J'ai utilisé des gestionnaires d'événement de ce genre dans le passé à de nombreuses reprises, et jamais réalisé qu'ils peuvent causer, ou ont fait, les fuites de mémoire dans mes applications.

Comment cela fonctionne (sens, pourquoi ne ce fait provoquer une fuite de mémoire) ?

Comment puis-je résoudre ce problème ? Est l'aide de -= pour le même gestionnaire d'événements assez ?

Sont commun des modèles de conception ou de meilleures pratiques pour le traitement des situations de ce genre ?

Exemple : Comment suis-je censé gérer une application qui a de nombreux threads différents, à l'aide de beaucoup de différents gestionnaires d'événements de soulever plusieurs événements sur l'INTERFACE utilisateur ?

Y a la bonne et simple des façons de surveiller efficacement dans un déjà construit de grandes la demande?

InformationsquelleAutor gillyb | 2010-12-24