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 :

Gestion m�moire en JavaScript


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Inscrit en
    Ao�t 2004
    Messages
    499
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 499
    Par d�faut Gestion m�moire en JavaScript
    Bonjour,
    j'ai un fichier javascript volumineux de 650 ligne et j'utilise jquery pour le DOM.
    Apres une heure d'utilisation de l'application "plugin wordpress", j'arrive a plus de 800 mo de mo utilise ?
    Comment faire pour eliminer le probleme, je pensais naivement que js gerait le ramasse miette ?
    Merci
    PS: j'utilise un clavier qwerty

  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
    PS: j'utilise un clavier qwerty
    tu es donc double ?
    un homme � qwerty en vaut deux ?

    Pour ton souci de m�moire, il faudrait savoir ce que fait ton plugin ...
    et �ventuellement fiare de remove() sur des �lements ins�r�s si possible ...
    Il n'y a pas de gestion de m�moire en javascript qui permettre de flusher ou quoi que ce soit
    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
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Citation Envoy� par artotal
    je pensais naivement que js gerait le ramasse miette
    Encore heureux que JavaScript utilise un ramasse-miette...
    Ensuite, si ton script consomme autant de m�moire, c'est peut-�tre parce qu'il est mal con�u ou qu'il trop de donn�es par exemple, un datagrid sur un tableau de 80000 entr�es comme on a vu r�cemment...)
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  4. #4
    Membre �clair�
    Inscrit en
    Ao�t 2004
    Messages
    499
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 499
    Par d�faut
    Ce plugin permet de creer la css d'un menu sous Wordpress.
    degrade, couleur, marge.
    Pour la portee des variables, je les assemble en debut de page pour les declarer, mais pas toutes, j'y travail.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
      4   var $menu_load = null, content, $gradient_1_load_bgc, $gradient_2_load_bgc, $horizontal_bgc_load,
      5   $vertical_bgc_load, $gradient_bgc_load, $color_bgc_load, $links_load, $gradient_1_load_link, $gradient_2_load_link,
      6   $horizontal_link_load, $vertical_link_load, $gradient_link_load, $color_link_load, $effet, $val, $val_l;
    Par exemple, au chargement de la page, je recupere les valeurs enregistrer et les affiches comme ceci:
    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   $('#drag-bloc').draggable();
     18 
     19   $gradient_1_load_bgc = $('#bgc-1-bgc').val();
     20   $gradient_2_load_bgc = $('#bgc-2-bgc').val();
     21   if( $gradient_1_load_bgc === '' || $gradient_2_load_bgc=== '') { 
     22     $menu_load.css("background-color", $gradient_1_load_bgc);
     23     $menu_load.css("background-image", 'none');
     24   }else if( ( $gradient_2_load_bgc !== '' ) && ( $gradient_1_load_bgc !== '' ) ) {
     25     $menu_load.css("background-image", "-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, " + $gradient_1_load_bgc ⇉
     26     $menu_load.css("background-image", "-webkit-linear-gradient(top, " + $gradient_1_load_bgc + " 0%, " + $gradient_2_load_⇉
     27     $menu_load.css("background-image", "-moz-linear-gradient(top, " + $gradient_1_load_bgc + " 0%," + $gradient_2_load_bgc ⇉
     28     $menu_load.css("background-image", "-o-linear-gradient(top, " + $gradient_1_load_bgc + " 0%," + $gradient_2_load_bgc + ⇉
     29     $menu_load.css("background-image", "linear-gradient(top, " + $gradient_1_load_bgc + " 0%," + $gradient_2_load_bgc + " 1⇉
     30     $menu_load.css("background-image: -ms-linear-gradient(bottom, " + $gradient_1_load_bgc + " 0%, " + $gradient_2_load_bgc⇉
     31     $menu_load.css("filter","progid:DXImageTransform.Microsoft.Gradient( startColorstr='" + $gradient_1_load_bgc + "', endC⇉
     32   }
    J'en ai moins de cent

    J'utilise aussi ui slider, deux fois:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      // slider bgc
    195   $val = $( "#opacity-bgc" ).val();
    196   $( "#slider" ).slider({
    197     value: $val,
    198     min: 0,
    199     max: 100,
    200     slide: function( ui ) {
    201       $( "#opacity-bgc" ).val( ui.value );
    202       $("#primary-navigation").css('opacity', ui.value / 100);
    203     }
    204   });

    Ainsi que google font
    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
      $.get("https://www.googleapis.com/webfonts/v1/webfonts?key=API",  {},
    612   function (data) {
    613     // charge toutes les polices dans le select
    614     $.each(data.items, function (value) {
    615       $('#fonts-l').append($("<option class='google'></option>").attr("value", value.family).text(value.family));
    616 
    617     });
    618 
    619     // au chargement de la page on affiche la police enregistrer
    620     var t = $.trim( $('.hide-fonts').text() );
    621     $("#fonts-l ").val(t).attr('selected', 'selected');
    622 
    623    if($("#fonts-l").find('option:selected').hasClass('google') ){
    624       $('body')
    625         .append("<link rel='stylesheet' href='http://fonts.googleapis.com/css?family=" + t.replace(/\s+/g," ") +"' type='te⇉
    626         $('#primary-navigation a').css({'font-family':'"' + t + '"'});
    627         $('#font-type').val('google');
    628     }else{
    629         $('#font-type').val('classique');
    630     }
    631   });
    Le probleme du window.remove, c'est que cela fonctionne seulement sur les objets, mais peut-etre que si je met a null les varaibles var ...;
    Quand je n'en ai plus besoin, comme dans ce cas de figure apres le chargement et l'affichage des donnees ?

    a chaque fois que je recherge la page, j'ai 20 mo en memoire suplementaires ?

  5. #5
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    en regardant la coloration de tes post tu vois que certain �l�ment sont devenu rouge alors qu'il ne devrait pas l'�tre

    cela signifie que ton code est incorrect

    corrige les ' et " avant tout.
    A+JYT

  6. #6
    Membre �clair�
    Inscrit en
    Ao�t 2004
    Messages
    499
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 499
    Par d�faut
    cette ligne est rouge je ne vois pas d'erreur, par contre je fais beaucoup de fautes d'orthographes, je dois me relire souvant trois fois sa fait partie de la magie du qwerty, dans mon cas ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $('#drag-bloc').draggable();
    C'est difficilement possible que j'ai une erreur de syntaxe parce que j'utilise jshint couple a Grunt ?

    Je suis donc instentanement au courant de la moindre erreur

    C'est surrement en recopiant le code, j'utilise Vim et pour copier sur un autre logiciel c'est un peu la galere.

    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
    22
    23
    OK
    >> File "assets/javascript/src/jquery.menu_css3.js" changed.
     
    Running "jshint:src" (jshint) task
    >> 2 files lint free.
     
    Running "concat:dist" (concat) task
    File "assets/javascript/jquery.menu_css3.min.js" created.
     
    Running "less:prod" (less) task
    File assets/styles/src/less.menu_css3.css created.
     
    Running "autoprefixer:single_file" (autoprefixer) task
    File assets/styles/src/less.menu_css3.css created.
     
    Running "cssmin:add_banner" (cssmin) task
    File assets/styles/menu_css3.css created.
     
    Running "uglify:cible" (uglify) task
    File assets/javascript/jquery.prod.menu_css3.min.js created.
     
    Done, without errors.
    Completed in 8.144s at Tue Mar 04 2014 12:51:11 GMT-0600 (CST) - Waiting...

    Merci a toi, et effectivement c'est en recopiant le code, je navais pas ete au bout de la ligne.
    Vim c'est beau mais le copier coller est vraiment galere !
    C'est un autre sujet

    D'autre part je constate que
    http://www.developpez.net/forums/e
    a un probleme similaire au mien en terme de memoire:

    Sa chauffe sec chez moi !

Discussions similaires

  1. R�ponses: 24
    Dernier message: 16/02/2012, 18h27
  2. R�ponses: 0
    Dernier message: 23/11/2011, 13h14
  3. Gestion m�moire en JavaScript
    Par vlakoff dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 06/07/2010, 10h30
  4. Gestion cookies ASP / javascript
    Par NeHuS dans le forum ASP
    R�ponses: 2
    Dernier message: 17/01/2005, 16h41
  5. Gestion m�moire des Meshes (LPD3DXMESH)
    Par [Hideki] dans le forum DirectX
    R�ponses: 1
    Dernier message: 08/07/2003, 20h34

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