0

javascriptで作成されたオブジェクトと変数をカウントすることは可能ですか?

GoogleChromeを使用してウェブアプリを分析しています。しかし、「メモリリーク」の原因となるオブジェクトをデバッグして見つけることは、それほど簡単ではありません(少なくとも私にとっては)。そのため、現在のページで作成されているすべてのオブジェクトと変数を知りたいので、それらが削除されているかどうかを知ることができます。

4

1 に答える 1

3

いいえ、Chrome(またはその他の主要なブラウザ)ではそれを行うことはできません。Chromeの「メモリ」ページ(chrome:// memory /)を使用して、何が起こっているのを知ることができますが、それはオブジェクトレベルまでではなく、ガベージコレクションが同期的または即時に行われないことを理解することが重要です。ブラウザ/JavaScriptエンジンは、メモリを割り当て、一部のJavaScriptオブジェクトに使用し、後でそれらのオブジェクトが使用されなくなったことを正しく理解しますが、将来の使用に備えてメモリを手元に置いておきます。

代わりに、JavaScriptがどのように機能するかを詳細に調べて、(通常は)何がメモリに保持されるのか、そしてその理由を説明します。クロージャがどのように機能 するかを理解し(開示:それは私の貧血の小さなブログへの投稿です)、IEがDOM要素とJavaScriptオブジェクト間の循環参照を適切に処理しない方法を理解します(具体的には、どちらも参照していない場合、それらを適切にクリーンアップしませんそれらのうち、それ以外の場合は通常は問題になりません)。そして、一般的に、対処すべき特定の問題が発生するまで、または特定の問題が発生しない限り、あまり心配する必要はありません。(これは絶対に起こりますが、人々が時々考えるほどではありません。)

于 2013-03-24T22:47:33.027 に答える