Firefox中Web worker的内存泄漏

时间:2014-04-16 02:57:59

标签: 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
       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图片,当我使用网络工作者时,FireFox会出现内存泄漏问题。

每次处理一张图片需要平均200MB 。 之后,FireFox将保持200MB 内存占用。

因此,每次处理需要200MB才能内存不足

只有Firefox 有问题。它为什么不释放记忆?我不明白。有什么想法吗?

0 个答案:

没有答案