2010-06-04 3 views
0

Nous travaillons sur une application JavaScript qui ne plante pas pour aucune raison que nous pouvons voir. La nature de l'application est qu'elle utilise javascript pour rediriger la page toutes les quelques secondes. et tourne à travers un certain nombre de pages Web dans un ensemble de temps. Donc, dans la recherche d'une fuite de mémoire potentielle dans notre code, nous l'avons configuré pour tourner dans Firefox pendant quelques jours. pendant qu'il fonctionnait, nous prenions quotidiennement note de l'utilisation de la mémoire firefox. Il a fait comme nous le suspections. l'empreinte du pied de la mémoire a augmenté au cours de cette période. Nous avons donc décidé de tester firefox en utilisant l'installation suivante: deux pages html, chacune ayant une image sur eux. Les deux utilisent une méta-redirection pour maintenir la commutation entre les pages. ces pages sont affichées dans un iframe sur une 3ème page.Firefox Iframe Mémoire fuite

Cette configuration a montré le même résultat. une allocation de mémoire croissante au fil du temps. toutefois. il convient de noter que nous avons testé cette même configuration dans Firefox mais sans l'Iframe, et vu aucune augmentation de l'utilisation de la mémoire.

donc la question: Des idées ce qui causerait cela? ou est-ce que quelqu'un sait s'il y a des fuites de mémoire signalées dans Firefox lors de l'utilisation d'une redirection Iframe et page?

Répondre

0

Le taux d'augmentation de l'utilisation de la mémoire a-t-il diminué au fil du temps et s'est-il éventuellement arrêté ou a-t-il continué de croître? Une certaine augmentation de la mémoire est attendue au début d'un test comme celui-ci, à cause de la fragmentation de la mémoire.

Le boîtier de test est-il posté quelque part?

0

Dans une application, je travaille sur j'ai observé le comportement dans Firefox où le javascript dans le document Iframe fait référence au document parent comme tel:

$('#md-frame', window.parent.document).css('pointer-events','none'); 

J'ai remarqué que si vous rajoutez le src de la iframe alors tout le javascript dans l'iframe existe deux fois comme s'il y avait 2 instances. Si vous actualisez le src de l'iframe, tous les événements dans le js de l'iframe existent 3 fois et ainsi de suite ... Donc, moi aussi, cela pourrait être une fuite de mémoire évidente.

Voilà comment je Charger à nouveau le iframe src:

$("#md-frame").attr('src',$("#md-frame").attr('src')); 

J'ai essayé de délier tous les événements avant que le comportement étrange, mais les lie de nouveau ne suis pas avoir beaucoup de chance.

Si quelqu'un d'autre a de l'expérience avec ceci. Id apprécier d'entendre à ce sujet. Nous nous débattons toujours avec ce problème dans Firefox.

1

Nous avons trouvé la fuite de mémoire Firefox + iframes reconnu à https://bugzilla.mozilla.org/show_bug.cgi?id=858615

nous connaissons ici sur un Mac, en utilisant ce code html pour une caméra ip

<tr> 
<div class="box"> 
<iframe src="http://10.0.1.31:8031/mjpeg.cgi" width="460" height="345" 
    class="smart_sizing_iframe noresize" frameborder="0" scrolling="no" > 
</iframe> 
</div> 
</tr> 

Safari n'a pas ce problème.