2008-10-14 19 views
16

Ich habe versucht, diese für buchstäblich einen Monat jetzt ohne Erfolg zu verfolgen. Ich habe dieses Stück Code auf einer Autowerbungswebsite, die im Grunde Thumbnails erlaubt, in Suchergebnissen zu drehen, da ein Auto mehrere Bilder hat. Sie können ihn in Aktion auf der folgenden sehen:Wie kann ich JavaScript-Speicherlecks in Firefox nachverfolgen und debuggen?

http://www.abcavendre.com/4506691919/

Es ist auf der mootools 1.2 Rahmen gebaut. Das Problem ist, dass dieses Skript unter Firefox 3, eine ziemlich große Menge an Speicher Überstunden verbraucht, wenn eine Seite voll von diesen rotierenden Bilder ist, wie diese Inventarseite:

http://www.abcavendre.com/Vitrine/Israel_Huttman/

Sie können finden Sie in der Quelle des Skripts in Frage hier:

http://www.abcavendre.com/scripts/showcase_small.js

Irgendwelche Ideen, was den Speicherverlust verursacht? Das Seltsame ist, dass sich dieser Code unter IE7 richtig verhält.

+0

Haben Sie es gelöst? Wenn ja, wo war das Problem? –

+0

Ich habe es nicht geschafft, es zu lösen. Ich erhalte wertvolle Informationen vom Leak Monitor Addon. Ich arbeite immer noch daran. –

+7

Deaktivieren Sie Firebug, wenn es in irgendeiner Weise aktiviert ist. – leppie

Antwort

8

Ein Weg Speicherlecks aufzuspüren in den folgenden mit dem Leak Monitor Addon ist. Es zeigt Speicherverluste von Javascript (einschließlich Erweiterung-Skripten).

Bitte beachten Sie, dass das Plugin manchmal durchgesickerte Objekte anzeigt, die später von der Garbage Collection bereinigt werden. Wenn dies der Fall ist, wird das Plugin ein neues Fenster mit dem neuen Status öffnen.

+0

Du hast verpasst: nach https, also macht SO eine seltsame URL, die an TheEdge sendet ... :-) – PhiLho

+0

Fixed. Vielen Dank für Ihre Meldung;) –

+5

Da SO eine englischsprachige Website ist, möchten Sie möglicherweise einen englischsprachigen Link bereitstellen: https://addons.mozilla.org/en-US/firefox/addon/2490 –

0

Versuchen nulling Elemente variable Anordnung in dem Ende der Initialisierungsfunktion

... 

    if (ads.length > 0) 
     { 
     this.imagesFx = new Fx.Elements(elements, 
      { 
      wait: false, 
      duration: 1000 
      }); 
     this.moveNext.periodical(2500, this); 
     } 

    elements = null; //Add THIS! 
} 
+0

Das würde nicht erklären, dass der Speicherverlust über die Zeit auftritt (ohne Seitenaktualisierung), da die Initialisierungsfunktion nur einmal pro Seite aufgerufen wird. –

+0

Versuchen Sie es ... es wird nicht weh tun –

+0

Ich habe gerade keine Veränderung. –

0

Update zu MooTools 1.2.1, wir haben Garbage Collection und Leak-Handling verbessert.

Verwandte Themen