我们正在开发一个ZK单页网页应用程序不断与服务器通信,并更新其部分屏幕。 更新可以像1s一样频繁。 在这些更新期间,大量的JS对象的引用将丢失,最终这些对象必须由垃圾回收器清理。 就我们所知,Chrome只在非活动选项卡上运行垃圾收集器。 这对我们来说是一个问题,因为应用程序的选项卡通常是活动的,几乎从不刷新,所以JS对象永远不会被收集。 如果保持足够的时间,标签最终崩溃( Aww Snap消息)。 我们需要手动启动垃圾回收。 到目前为止,我们已经尝试使用–js-flags="–expose-gc"运行Chrome并运行gc() ,但是它会抛出一个exception: ReferenceError: gc is not defined 这不会发生在Firefox上 – 内存使用率或多或less是一个常数。 强制刷新页面不是一个选项。 我们将感谢任何和所有的build议。 编辑 :我们已经尝试在Chrome版本23.0.1271.97 m和25.0.1364.2 dev-m上运行window.gc()和gc()
如果DIV元素没有脱落,我需要用jQuery来检查。 这些元素是可见的,并根据CSS属性显示,但他们可以故意放置在屏幕外: position: absolute; left: -1000px; top: -1000px; 我不能使用jQuery :visibleselect器,因为元素具有非零的高度和宽度。 我没有做任何事情。 这个绝对位置的位置是我的Ajax框架实现隐藏/显示一些小部件的方式。