私は、ガベージコレクタが最終的にその仕事をし、TypedArray
に割り当てられたメモリを、変数やオブジェクトとまったく同じ方法で解放することを完全に理解しています(循環参照がないと仮定します)。JavaScriptのTypedArrayからメモリを解放する最も良い方法は何ですか?
しかし、私はWebWorkers
の数で多くの連続処理を実行していますので、このメモリをできるだけ早くGCで解放したいと考えています。通常の配列を使用すると、array.length = 0;
を設定するだけで正確にこれを行うことができますが、TypedArrayを使用するとどうなりますか?
次の結果は、メモリができるだけ早く解放されますか?
var testArray = new Uint8Array(buffer);
///Do stuff with testArray
tesArray.length = 0;
それともTypedArrayは、単にArrayBuffer
オーバービューであることから、私はまた、実際のバッファそのものをクリアする必要があるでしょうか?もしそうなら、どうですか?
なぜtestArray = nullを使用しないのですか?私はこのアプローチが多く使われているのを見ました。 – FailedUnitTest
配列をnullにすることが本当に効果的な方法であり、実際に効果的であれば、それを使用します。しかし、私の懸念は、実際の基礎となるバッファそのものが後に残され、後でGCによってクリーンアップされるということでした。 – gordyr
良い点は、私はGCが今これを世話できるほどスマートだと考えました。 – FailedUnitTest