0

ブラウザが自動的にハングする大きなプロジェクトに取り組んでいる大きな問題で立ち往生して
いますjavascriptは「javascriptが使用しているメモリの量を検出し、定期的にメモリをクリアする方法.それは可能ですか?」

4

2 に答える 2

4

メモリで遊ぶ方法はありません。Javascript はサンドボックス環境で実行されるため、メモリ管理にはまったくアクセスできません。ガベージ コレクターがこれを処理し、どうにかしてやりたいことをさせることができますが、それはランダムですそれを頼りにしないでください。

むしろ、問題に対しては、Chrome Inspector の Profiler を使用できます。

プロファイラ

それは何をするためのものか?ええと...それはあなたがいるウェブページをプロファイリングします。各機能にかかる時間を確認できます。特に、ボトルネックはどこですか.

于 2012-07-17T07:54:38.460 に答える
2

具体的には、Chrome で試してください。

Chrome の V8 には素晴らしい世代別ガベージ コレクターがあり、そこで 3 種類のポーリングが行われます: 3 つの世代の種類を常にポーリングする 3 つのスレッドがあり、それらは 10、50、200 ミリ秒間隔で実行されると思います (数字は間違っているかもしれませんが、それらは基本的に類似しており、古い世代ほど時間間隔が長くなります)。

これは積極的であり、メモリ使用量を低く抑えることができます。

それにもかかわらず、コードが Chrome でメモリを占有している場合は、問題がコードにあることを確認できます。次のことが考えられます。

(a) コードが本当に最適化されていない、または
(b) クライアントに最適ではない可能性が高い非常に大きなデータを実際に処理している (例: 大量のウィジェット、DOM ノードなどを含む過度に重いページ)。

スニペットを投稿してみませんか?

于 2012-07-17T07:43:06.137 に答える