相关疑难解决方法(0)

强制在Google Chrome中收集垃圾

我们正在开发一个带有ZK的单页Web应用程序,它不断与服务器通信并更新其部分屏幕.更新频率可以达到1秒.在这些更新期间,对大型JS对象的引用将丢失,并且最终必须由垃圾收集器清理这些对象.

据我们所知,Chrome只在非活动标签上运行其垃圾收集器.这对我们来说是一个问题,因为应用程序的选项卡通常是活动的,几乎从不刷新,因此JS对象永远不会被收集.如果保持活动状态足够长时间,则选项卡最终会崩溃(Aww Snap消息).

我们需要手动启动垃圾收集.到目前为止,我们已尝试运行Chrome --js-flags="--expose-gc"并运行gc(),但它会引发异常:

ReferenceError: gc is not defined
Run Code Online (Sandbox Code Playgroud)

这不会发生在Firefox上 - 内存使用或多或少是一个常数.

强制刷新页面不是一种选择.

我们将不胜感激任何建议.

编辑:我们已经尝试运行window.gc()gc()双方在Chrome版本23.0.1271.97 m25.0.1364.2 dev-m

javascript garbage-collection google-chrome zk

44
推荐指数
3
解决办法
5万
查看次数