IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

fuite de mémoire


Sujet :

C#

  1. #1
    Débutant
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Points : 97
    Points
    97
    Par défaut fuite de mémoire
    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

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    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
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Membre à l'essai
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    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)...
    Grâce à notre bon ami le Garbage Collector !!!

  4. #4
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    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 ...

  5. #5
    Débutant
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Points : 97
    Points
    97
    Par défaut
    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.

Discussions similaires

  1. fuite de mémoire ?
    Par salseropom dans le forum C
    Réponses: 2
    Dernier message: 12/01/2006, 16h19
  2. Réponses: 1
    Dernier message: 02/12/2005, 14h18
  3. fuite de mémoire
    Par mamag dans le forum MFC
    Réponses: 17
    Dernier message: 19/08/2005, 10h42
  4. Fuite de mémoire en utilisant le template list
    Par schtroumpf_farceur dans le forum Langage
    Réponses: 9
    Dernier message: 18/07/2005, 20h44
  5. Réponses: 8
    Dernier message: 17/10/2002, 12h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo