FirefoxでJavaScriptメモリリークを追跡およびデバッグするにはどうすればよいですか?
-
03-07-2019 - |
質問
これを文字通り1か月間追跡しようとしてきましたが、何の成功もありませんでした。車に複数の写真がある場合、基本的に検索結果でサムネイルを回転させることができる車の広告ウェブサイトにこのコードを持っています。以下で動作を確認できます:
mootools 1.2 フレームワーク上に構築されています。問題は、Firefox 3では、このインベントリページなど、ページが回転する写真でいっぱいになっていると、このスクリプトがかなりの時間のメモリを消費することです。
ここで問題のスクリプトのソースを見ることができます:
メモリリークの原因は何ですか?奇妙なことに、このコードはIE7の下で適切に動作します。
解決
Firefoxのメモリリークを追跡する方法は、リークモニタアドオンを使用することです。 。 JavaScript(拡張スクリプトを含む)のメモリリークを示します。
プラグインには、リークされたオブジェクトが表示されることがあり、後でガベージコレクションによってクリーンアップされることに注意してください。その場合、プラグインは新しいウィンドウを開き、新しいステータスを表示します。
他のヒント
MooTools 1.2.1に更新し、ガベージコレクションとリーク処理を改善しました。
初期化関数の最後に要素の変数配列をnullにしてみてください
...
if (ads.length > 0)
{
this.imagesFx = new Fx.Elements(elements,
{
wait: false,
duration: 1000
});
this.moveNext.periodical(2500, this);
}
elements = null; //Add THIS!
}
所属していません StackOverflow