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

JavaScript Discussion :

[DOM] libérer de la mémoire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut [DOM] libérer de la mémoire
    Salut,

    Je travail sur un projet avec une interface en js, assez poussée de mon point vue.

    Et le truc c'est que j'aimerais bien être certain que lorsque je détruis un objet, supprime ces noeuds du DOM, nullable les membres ect, que les ressources sont bien libérées..... Mais je ne connais pas assez le fonctionnement de JS et des navigateurs pour cela.

    Quelqu'un aurait t'il des informations la dessus ? Ou bien même peut être ou outil de contrôle ?

    merci,
    a plus

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    faut pas demander à javascript d'avoir accès à ça ...

    et puis au niveau ressources, à moins de créer des milliers d'élements et d'avoir un Pc pourri les ressources occupées sont minimes ...

    un removeChild ne supprime pas l'element, il le retir du flux de la page
    fait un = null ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut
    Mouep je null déjà tout cela. Mais bon, JS étant ce qu'il est. Je doute qu'il soit très doué pour gérer sa mémoire. Et j'aurais avoir plus de certitudes par rapport à ce que je faisais.

    Un petit exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    			this.cfg.destroy();
    			if( this._scrollableContent )	this._scrollableContent.destroy();
    			if( this._dataLoader )			this._dataLoader.destroy();
    			if( this.viewObject )			this.viewObject.destroy();
     
    			if( this.element.parentNode) 
    				this.element.parentNode.removeChild( this.element );
     
                this.cfg 					= null;
                this.element 				= null;
                this.viewObject 			= null;
                this._dataLoader 			= null;
                this._scrollableContent 	= null;
     
                this.destroyEvent.fire();
     
                for (e in this) {
                    if (e instanceof CustomEvent) {
                        e.unsubscribeAll();
                    }
                }
    Et quand aux ressources occupées, je ne pense pas qu'elle soit minime malheureusement :/
    Mais bon il y à tellement peu d'outils pour surveiller tout cela...

    Merci,
    a plus

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Je ne pense pas que tu puisse faire beaucoup plus que cela ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut
    ok thanks. A l'occaz si y à un guru à la barbe longue qui passe par ici : )

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    effectivement , tu ne pourras pas faire mieux que de supprimer tes élément ( removechild ) puis de les nuller , voici un petit article ( en anglais ) expliquant les fuites mémoires et leur "résolution"

    http://www.javascriptkit.com/javatut...k/index3.shtml

    bon courage

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut
    pfiu, ouais du courage il va m'en falloir. Cela m'a l'air d'être un sujet bien compliqué.... Sur lequel il faut beaucoup réfléchir avant de trouver et de prouver une fuite..

    Bon je vais quand même le lire et m'en inspirer ! Cela peut ne me faire que du bien ; )

    Merci a plus

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

Discussions similaires

  1. Libérer de la mémoire en vidant des variables images
    Par PoZZyX dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/02/2008, 11h28
  2. Comment libérer de la mémoire ?
    Par dam2p dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/08/2007, 23h05
  3. Réponses: 7
    Dernier message: 06/06/2006, 15h38
  4. Comment libérer l'éspace mémoire utilisé par Acrobat Reader?
    Par Matt2094 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 28/03/2006, 17h48
  5. [VB.NET][dataset] libérer de la mémoire
    Par JauB dans le forum Windows Forms
    Réponses: 6
    Dernier message: 06/01/2006, 12h58

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