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

Windows Forms Discussion :

[C#]pb de ressources memoire ou fonctionnement normal ?


Sujet :

Windows Forms

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut [C#]pb de ressources memoire ou fonctionnement normal ?
    Bonjour à tous,

    Comme je ne maitrise pas totalement le domaine des langages dot net, je souhaitai savoir si le probleme que je rencontre est un fonctionnement normal de VS ou bien s'il y a effectivement fuite memoire. J'explique la situation :

    Dans mon appli j'ai une listbox avec plusieurs elements "titres" différents.
    A chaque fois que je click sur un des éléments, il va chercher dans une liste de controles utilisateurs (déjà chargés au démarrage de l'appli) celui qui y correspond et l'affiche dans un panel via la commande panel.controls.add(moncontrole) en ayant pris soin auparavant de faire un remove de celui qui etait là avant le nouveau.
    A chaque fois que je change d'element, il me charge bien le bon controle utilisateur mais la memoire ne fait qu'augmenter.
    J'ai donc fait l'essai avec ceci :
    Je sais que j'ai un controle qui bouffe pas mal en memoire et un qui ne bouffe rien. Je charge donc le premier, la memoire grimpe puis je met le deuxieme à la place ce qui aurait du réduire la memoire utilisée logiquement. Eh bien non ! celà ne réduit pas. Et pire, ça continue d'augmenter !
    Donc en gros je me demandais si cela était normal ou pas.
    J'ai meme fait le test ci dessus en ayant pris soin de placer un bouton avec un GC.collect(); assigné au onclick pour forcer un passage du garbage collector mais ça ne change rien non plus.
    Je me demande si le fonctionnement des softs .net n'alloue pas la memoire nécessaire sans la "désallouer" en se disant un truc du genre "bah puisque j'ai eu besoin de tant de memoire, je risque d'en avoir besoin encore apres donc je la garde allouée pour moi"

    Quel serait vos avis sur la question ?
    Merci d'avance !
    @+

    ps : ce coté memoire ne se pose pas sur la creation/destruction de mes usercontrols vu qu'ils sont chargés et ne bougent pas du tout. C'est juste au niveau du panel.controls.add/remove que ça pose probleme

  2. #2
    Membre émérite

    Inscrit en
    Novembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2006
    Messages : 128
    Points : 2 624
    Points
    2 624
    Par défaut
    La Garbage collector est un peu déroutant au début. En fait, il ne te libérera la mémoire que quand tu en auras besoin. Tant qu'il a de la place, il ne libère pas. En revanche, quand il n'a plus de place, il désalloue. Donc à moins que tes contrôles utilisent des ressources non managées qui ne seraient pas désallouées ou que tu ais toujours une référence vers ton objet, tu n'as pas de soucis à te faire.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Points : 377
    Points
    377
    Par défaut
    Salut,

    Merci pour la réponse, ça me conforte dans ma premiere idée car je me demandais vraiment si j'avais bien fait ou pas...
    Encore merci

    @++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/08/2014, 09h52
  2. [2008R2] Attente de ressource Memoire long
    Par chloeb dans le forum Administration
    Réponses: 51
    Dernier message: 20/05/2013, 16h56
  3. [1.x] Ressources Memoire allucinante
    Par art2rue dans le forum Symfony
    Réponses: 4
    Dernier message: 15/11/2010, 16h57
  4. [Smarty] Cohabitation, avec un fonctionnement normal
    Par Space Cowboy dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 14/05/2007, 14h01
  5. Réponses: 1
    Dernier message: 04/11/2006, 20h40

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