Dans un projet ,
le chef du projet m'a demandé de faire une application qui permet d'eviter la fuite du mémoire pour google maps (qui est développée en ajax interfacé par c#)!!!
c'est quoi la fuite du mémoire ??
Toute information sera le bien venue
Dans un projet ,
le chef du projet m'a demandé de faire une application qui permet d'eviter la fuite du mémoire pour google maps (qui est développée en ajax interfacé par c#)!!!
c'est quoi la fuite du mémoire ??
Toute information sera le bien venue
salut
une fuite mémoire ou memory Leak en anglais est une perte de controle sur l'allocation de la mémoire conduisant à un accroissement de la mémoire utilisé par un process sans que celle ci puisse être récupéré...
En plus simple....
Tu as un programme qui demande à l'OS de lui allouer de la mémoire pour différentes opérations. Une fois les objets détruits car plus utiliser, la logique voudrait que la mémoire soit rendu à l'OS... Un cas de fuite mémoire se présente quand tu , par exemple t'alloues 10 Mo de mémoire.. tu as bien sur un objet qui "possède" (pointe) sur cette mémoire, et au moment de détruire l'objet, tu oublies de faire un "free mémoire", mais tu dis à l'objet = null...
En C++, ca te conduisait à perdre la référence sur la mémoire allouée sans la désallouée... donc, grossissement de la mémoire allouée au process...etc...
En C#, cela n'arrive pas SAUF si tu utilises des objets COM ou bien des objets provenant de librairie allouant dynamiquement de la mémoire (exemple : librairie faite en C++ et ayant un wrapper C++/CLI.... avec mauvaise gestion de la mémoire)...
Voila pour l'explication
Désolé, je me sentais en verve pour donner un peu plus que 2 mots de réponse
The Monz, Toulouse
Dans le monde du C# Memory Leak n'a pas toujours le même sens. Celà peut venir du fait qu'une série d'éléments est crée rapidement mais que des références fortes existent toujours vers cet élément et ce jusqu'à la fin de l'exécution du programme ce qui fait qu'ils ne seront pas collectés.
Exemple : Si l'on développe un système de cache afin de pouvoir utiliser des éléments qui seront supprimés dès qu'ils sont trop vieux ou que la mémoire disponible se réduit par le GC. S'il existe une liste genre RunningCacheEntries pour repérer toutes les entrées de cache crées ces derniers ne seront en réalité jamais collectés car il y aura toujours une référence vers eux à partir de la liste ...
Et bain quel est la relation entre la programmation avec ajax interfacé par C# et le leak memory.
Je suis débutant dans ce domaine donc ne soyez pas sevére avec moi svp
Toute information sera le bien venue.
Merci d'avance.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager