Javascript Kineticjs:隐藏对象是否仍然需要花费资源?

Javascript Kineticjs:隐藏对象是否仍然需要花费资源?,javascript,hide,kineticjs,Javascript,Hide,Kineticjs,我有一个很大的kineticjs矩形数组,我用它来渲染屏幕。每个rect都有一个唯一的大小,并附带一个click事件。问题是,我只需要10%的矩形就可以在屏幕上任何一点渲染。如果我在90%的矩形上调用此.hide(),它会为我的web应用程序释放资源吗?还是所有这些矩形的背景中仍会运行某些内容 如果这不起作用,是否有任何方法可以使用另一个kineticjs技巧实现这一点?所有矩形仍将是对象,并且仍将消耗资源。 如果资源非常重要,您可以“回收”矩形: 创建较少数量的矩形对象(可能是当前矩形总数的

我有一个很大的kineticjs矩形数组,我用它来渲染屏幕。每个rect都有一个唯一的大小,并附带一个click事件。问题是,我只需要10%的矩形就可以在屏幕上任何一点渲染。如果我在90%的矩形上调用此.hide(),它会为我的web应用程序释放资源吗?还是所有这些矩形的背景中仍会运行某些内容


如果这不起作用,是否有任何方法可以使用另一个kineticjs技巧实现这一点?

所有矩形仍将是对象,并且仍将消耗资源。

如果资源非常重要,您可以“回收”矩形:

  • 创建较少数量的矩形对象(可能是当前矩形总数的15%)。将这些矩形对象放入数组中。首先,隐藏所有矩形

  • 由于需要矩形,请迭代矩形数组并查找任何隐藏的矩形。重置其属性以匹配所需的矩形并使其可见

  • 由于不再需要矩形,请将其隐藏


谢谢!为了让事情更清楚,你是说程序仍然会使用包括事件处理程序在内的资源?就像我不关心分配给矩形物理属性(如颜色或大小)的任何资源一样,我只是不想让我的程序处理隐藏形状的单击事件或BG中可能发生的任何其他我不知道的事情。隐藏节点的所有
node.on
事件处理程序都不会被触发。如果使节点可见,将再次触发事件处理程序。