17

Internet Explorer では、次のメソッドを使用して Javascript ガベージ コレクションを強制的に実行できます。

そのメソッドは Firefox では定義されていません。同等のものがあるかどうか知っていますか?

ありがとう。

4

4 に答える 4

1

をご覧くださいabout:memory

MDNのページのドキュメントから:

about:memory is a special page within Firefox that lets you view, save, 
load, and diff detailed measurements of Firefox's memory usage. It also 
lets you do other memory-related operations like trigger GC and CC
于 2016-12-17T13:15:08.013 に答える
1

私はGCを強制しようとしてきましたが、実際のブラウザに関係なく、次のコードを実行するのが比較的良い方法のようです:

  function gc(max) {
    var arr = [];
    for (var i = 0; i < max; i++) {
      arr.push(i);
    }
    return arr.length;
  }
  for (var i = 0; ; i++) {
    // repeat until you have enough:
    gc(Math.pow(2, i));
  }

もちろん、1 つの問題は、gc(...) の呼び出しをいつ停止するかを知ることです。そのためには、GC が正常に終了したことを検出する外部の方法が必要です。私の場合、組み込みの WebView を使用していましたが、より大きな配列で次のラウンドを強制する前に実際に確認できました。

于 2014-11-10T17:09:38.200 に答える
1

これが話題から外れていないかどうかはわかりませんが、FreeMemory ( https://addons.mozilla.org/en-US/firefox/addon/freememory/ )と呼ばれるFirefox用のアドオンがあり、ガベージまたはサイクルコレクションを実行せずに実行できますabout:memory ペインにアクセスし、設定可能なタイマーを使用します。他のブラウザには代替手段があると思います。

于 2014-11-26T01:37:38.260 に答える