JavaScriptキットから引用:
クライアント側で再利用可能なスクリプト オブジェクトを開発している場合、遅かれ早かれメモリ リークを発見することになります。ブラウザがスポンジのようにメモリを消費する可能性があり、サイト内のいくつかのページにアクセスした後、素敵な DHTML ナビゲーションの応答性が大幅に低下する理由をほとんど見つけることができません。
Microsoft の開発者である Justin Rogers は、IE のリーク パターンについて、彼の優れた記事(web.archive.org から) で説明しています。
この記事では、少し異なる観点からこれらのパターンを確認し、図とメモリ使用率のグラフでそれをサポートします。また、いくつかの微妙なリーク シナリオも紹介します。始める前に、まだ読んでいない場合は、その記事を読むことを強くお勧めします。
なぜメモリリークが発生するのですか?
メモリ リークの問題は、Internet Explorer に限ったことではありません。ほとんどすべてのブラウザー (Mozilla、Netscape、Opera を含むがこれらに限定されない) は、適切な条件を指定するとメモリ リークを起こします (後で説明するように、そうするのはそれほど難しくありません)。しかし (私の謙虚な意見では、ymmv など) Internet Explorer はリーカーの王様です。
誤解しないでください。私は、「ねえ IE にはメモリ リークがあります。この新しいツール [link-to-tool] をチェックして、自分の目で確かめてください」と叫ぶ群集には属していません。Internet Explorer がいかにくだらないかを議論し、他のブラウザのすべての欠陥を隠蔽しましょう。」
各ブラウザには、独自の長所と短所があります。たとえば、Mozilla は最初の起動時に大量のメモリを消費します。文字列や配列の操作には適していません。レンダリング エンジンを混乱させる非常に複雑な DHTML スクリプトを記述すると、Opera がクラッシュする可能性があります。
Internet Explorer でのメモリ リーク状況に焦点を当てますが、この説明は他のブラウザにも同様に当てはまります。
読み続けて...