使用chunk/complete回调和worker时内存泄漏



我将选项作为传递

{
...
chunk: () => this.chunk(results,parser),
complete: () => this.complete(results,parser)
}

当worker为false时,这不会泄露内存,但当worker是true时,这会泄露内存。泄漏是因为盖子以某种方式被保留了下来。查看papaparse代码,似乎回调函数作为worker.userXYZ函数复制到了worker对象中。但是,在结束时,工作程序被终止并删除。因此,理想情况下,关闭也应该被释放。

使用worker选项时是否需要任何额外的步骤来正确释放内存?

这似乎与Worker对象未释放有关

我通过引用this的chunk函数获得了一个大对象。因此,通过在complete中将引用设置为null,释放了内存。

最新更新