首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >垃圾收集需要很长时间[如何调试正在收集的内容?]

垃圾收集需要很长时间[如何调试正在收集的内容?]
EN

Stack Overflow用户
提问于 2017-12-21 15:05:27
回答 1查看 72关注 0票数 1

我遇到了一个问题,主要的javascript线程由于垃圾收集而被阻塞。(见下面的截图)。用例是,我正在使用oboe.js从服务器上流JSON,处理一些节点,并将节点放在WebGl呈现器中,并在它们流时呈现这些节点。这是很好的工作,除了垃圾收集器造成的2fps,因为收集块的9mb,它需要大约500毫秒。

问题是,我不知道正在收集的是什么,也不知道如何防止它被收集。所以我的问题有两个:

  • 如何减少垃圾收集器收集的块的大小,或者推迟垃圾收集器运行的时间?
  • 如何调试正在收集的内容?

正在发生的事情的片段:

EN

回答 1

Stack Overflow用户

发布于 2017-12-22 10:51:04

毕竟我发现了这个问题。有一个解析过程,它输出了一个非常复杂的嵌套对象的变量。

代码语言:javascript
复制
someModule.parse(someString, function(result){
    // result = complex deep nested object
    // process result
});

在进程结果阶段之后,结果变量被标记为垃圾收集,并立即这样做。我将结果缓存在一个临时变量中,然后“手动”删除它,从而解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47927688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档