Je développe une application native Windows 8. Mon application se plante après avoir fait des allers-retours dans l'application pendant un certain temps. Lors de l'analyse, en utilisant le profileur de mémoire, j'ai constaté qu'à chaque fois que je navigue d'une page à l'autre, l'utilisation de la mémoire augmente malgré le fait que je mette à zéro tous les objets de type liste, webclient, chaîne, etc. et que j'appelle GC.Collect après cela sur l'événement NavigatedFrom.
J'ai d'abord pensé que c'était dû aux images et j'ai donc supprimé les images de l'application et testé mais il n'y a toujours pas de changement dans l'utilisation de la mémoire de l'application. D'une certaine manière, le GC.Collect ne fonctionne pas et ne libère pas la mémoire.
J'ai essayé les choses mentionnées ci-dessous mais à ma grande malchance, cela ne fonctionne pas pour libérer la mémoire, le résultat reste le même.
-
J'ai donné la valeur null à l'image urisource avant de définir la nouvelle source, puis j'ai appelé gc.Collect pour libérer la mémoire utilisée, mais il semble qu'elle ne soit pas libérée.
-
Ensuite, j'ai mis tous les objets à null, et j'ai appelé GC.Collect() mais cela ne libère toujours pas l'espace de la mémoire utilisée par l'application du téléphone.
-
J'ai également essayé d'analyser en utilisant le profileur de mémoire mais je ne suis pas en mesure de suivre quoi que ce soit.
J'ai également parcouru tous les articles et implémenté les choses suggérées mais le GC.Collect() ne semble pas libérer la mémoire.
Comment puis-je libérer la mémoire consommée lors de la navigation d'une page à l'autre ?