我有大量的kineticjs rects,我用来渲染到屏幕。每个rect都有一个独特的大小,并附加了一个click事件。问题是,我只需要10%的矩形在任何一点上在屏幕上渲染。如果我在90%的矩形上调用this.hide(),它会为我的网络应用程序释放资源吗?或者还会在所有这些矩形的背景中运行某些东西?
如果这不起作用,有没有办法用另一个kineticjs技巧来完成这个?
答案 0 :(得分:3)
所有矩形仍然是对象,仍会消耗资源。
如果资源至关重要,您可以"回收"你的矩形:
创建较少数量的矩形对象(可能是当前总矩形数的15%)。将这些矩形对象放在一个数组中。最初,隐藏所有矩形。
由于需要一个矩形,迭代矩形数组并找到任何隐藏的矩形。重置其属性以匹配所需的矩形并使其可见。
由于不再需要矩形,请将其隐藏。