2

とで大きなオブジェクトをインスタンス化するvarとしnewます。使い終わったら、に設定して「解放」できnullますか?これはJavascriptGCが探しているものですか?

4

3 に答える 3

3

ガベージコレクションは、他のオブジェクトによって参照されていないオブジェクトに関心があります。したがって、アプリケーションのどこにも参照が残っていないことを確認してください(配列など)

于 2012-06-02T17:43:28.877 に答える
1

変数をに設定することで参照を解除できますがnull、他の参照は解除されません。

オブジェクトをGCする前に、すべての参照を個別に分割する必要があります。

そうです、その変数によって保持されているオブジェクトへの唯一の参照である場合、それをに設定するnullと、最終的なGCのためにオブジェクトが解放されます。

于 2012-06-02T17:43:16.237 に答える
0

私が述べていないように、変数がガベージコレクションの対象となるには、すべての参照を解除する必要があります。特定のオブジェクトへの最後の参照を追跡できない場合、これは難しいタスクになる可能性があるため、このタスクに使用できるツールを使用してください。個人的には、Chromeのドキュメントで読むことができるChromeのヒーププロファイラーを使用しています。

また、非プリミティブ型のみが参照によって渡されることに注意してください(したがって、非プリミティブ型のみがGCされる可能性があります)。

于 2012-06-02T17:49:32.807 に答える