J'ai un ImageList
qui est peuplé, bien vous l'avez deviné, des images. Ces images sont chargées en mémoire dans un jeu de données sous la forme Bitmap
. Jusqu'à ce que je les charge dans le ImageList
l'augmentation de la mémoire ne vous inquiétez pas. Mais quand ils sont ajoutés aux ImageList
les fusées de ciel d'utilisation de mémoire. Mais le plus gros problème est quand je dois recharger la liste des images. J'ai essayé d'appeler disposer sur chaque image de la liste mais la mémoire n'est pas libérée. Ce est le code que j'essayé de nettoyer la mémoire:Problèmes de mémoire avec winforms ImageList
foreach (Image item in imageList.Images)
{
item.Dispose();
}
imageList.Images.Clear();
GC.Collect();
Qu'est-ce que je fais mal?
Le cycle Dispose et l'appel GC.Colect ont été effectués dans une tentative de désespoir pour résoudre le problème, car le simple fait d'appeler Clear ne faisait pas l'affaire. – jpsstavares
Le problème est que lorsque je remplis la liste une deuxième fois, je reçois une exception Out of memory si les listes sont trop grandes. C'est pourquoi je dis que la mémoire n'est pas libérée. – jpsstavares
Disposez-vous les bitmaps après les avoir ajoutés à ImageList? –