Firefox中web worker的内存泄漏
当我在firefox中运行web worker时, 工作脚本:Firefox中web worker的内存泄漏,firefox,canvas,memory-leaks,web-worker,Firefox,Canvas,Memory Leaks,Web Worker,当我在firefox中运行web worker时, 工作脚本: self.addEventListener('message', function(e){ var sBufferData = source buffer of imageData( Uint8ClampedArray ) var resultBuffer = result buffer of operation( Uint8Array ) for(...) //double for loop operate
self.addEventListener('message', function(e){
var sBufferData = source buffer of imageData( Uint8ClampedArray )
var resultBuffer = result buffer of operation( Uint8Array )
for(...) //double for loop operate
for(...) //get resultBuffer array
self.postMessage(resultBuffer);
resultBuffer = sBufferData = undefined;
self.close(); //web-worker close itself
}, false);
主脚本:
var imageWorker = new Worker("imageWorker.js");
imageWorker.postMessage(source buffer of imageData);
imageWorker.onmessage = function(e) {
//operation...
imageWorker.terminate(); //web-worker terminate in main thread
e.data = imageWorker = undefined;
}
我的图片是一张3246*2448的图片,当我使用web worker时,FireFox中会出现内存泄漏问题
每次处理一张图像平均需要200MB。
之后,FireFox将保持200MB的内存占用
因此,每次处理都需要200MB,直到内存不足
只有Firefox有问题。为什么它不释放内存?我不明白。有什么想法吗?firefox版本29中的GC问题修复程序。