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

jQuery Discussion :

Libération mémoire


Sujet :

jQuery

  1. #21
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message
    Bonsoir

    Pour libérer la mémoire, je vous suggère de tester le code ci-dessous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $( ".videoContainer" )
        .find( "video" ).each( function( i, item ){
            item.pause();
            delete( item );
            $( item ).remove();
        })
        .empty();
    L'utilisation du delete( item ) et puis du $( item ).remove() serait nécessaire selon ce que j'ai lu sur un forum anglophone.

    Si j'ai bien compris, le navigateur n'essaye pas de récupérer la mémoire tant que l'élément parent des vidéos supprimées n'est pas explicitement vidé par un empty().

    Merci pour votre réponse et Darkaurora aussi.
    Je n'ai pas répondu tout de suite car j'attendais de bien tester le code , j'ai fais une pause également à ce niveau car c'est la première fois que je bloque autant sur quelque chose et c'est assez pesant.
    Mais j'avoue que ma méconnaissance de jquery et ajax y est pour quelque chose.
    Alors le code ne semble pas fonctionner, mais à vrai dire je me demande s'il n'existe pas d'outils plus clair que le gestionnaire des tâches de Windows pour visualiser la mémoire consommé?
    je me rend compte qu'avec le gestionnaire des tâches, la mémoire utilisée par l'application baisse parfois énormément, mais ça reste rare et totalement aléatoire, serait-ce le garbage collector qui fait son travail ?

  2. #22
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonjour

    Nos codes servent à indiquer au navigateur qu'il peut récupérer de la mémoire, mais la récupération effective se fait uniquement lorsque l'éboueur (garbage collector) se met au travail à la demande du navigateur. Au niveau du gestionnaire des tâches, cela doit effectivement se traduire par : "la mémoire utilisée par l'application baisse parfois énormément, mais ça reste rare et totalement aléatoire".

    Je n'ai pas mieux à proposer que ce que j'ai trouvé dans les forums anglophones sur ce sujet.

    Utilisé un plugin conçu uniquement pour montrer des photos avec un effet "tourne la page" est sans doute à l'origine de vos problèmes. Je ne connais pas le plugin miracle, mais je vous conseillerais de regarder des plugins plus récents, conçus pour manipuler des images ou de la vidéo, par exemple : http://mightyslider.com/ (démonstration : http://mightyslider.com/videos.html).

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #23
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    Merci pour toutes ses indications, je commence à mieux comprendre le fonctionnement du garbage collector.
    J'en viens à me poser une question (peut-être stupide). Mais ne peut-on pas forcer le garbage collector à se lancer avec du code ? au lieu d'attendre que le navigateur l'appelle ?

  4. #24
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    L'éboueur est géré par le navigateur. Le type et l'efficacité de l'éboueur varient avec le navigateur et le numéro de version du navigateur.

    À ma connaissance, seul IE (les versions obsolètes et peut être même IE11) a une méthode de ce genre, mais il est très fortement recommandé de ne pas sans servir, vous risquez de bloquer le fonctionnement normal du navigateur.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #25
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    Bonjour,

    Merci pour votre réponse, au vu des difficultés rencontrées, j'ai décidé de passer sous un autre plugin.

Discussions similaires

  1. Libération mémoire TSQLQuery
    Par obione dans le forum Bases de données
    Réponses: 9
    Dernier message: 28/03/2007, 10h02
  2. Problème de libération mémoire
    Par chrono23 dans le forum C++
    Réponses: 16
    Dernier message: 07/09/2006, 23h18
  3. Réponses: 3
    Dernier message: 14/03/2006, 05h19
  4. [COM] Libération mémoire
    Par MC2 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 13/01/2006, 16h15
  5. FIREBIRD + APPLI EN C : Problèmes de libération mémoire
    Par lio33 dans le forum Connexion aux bases de données
    Réponses: 4
    Dernier message: 16/09/2005, 09h07

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