2012-10-26 39 views
2

我一直在使用KineticJS来构建一个iOS应用程序(UIWebView)。我创建了一个简单的示例应用程序,以了解内存使用情况。我创建了一个单独的阶段,为它添加了100个图层,并为每个图层添加了一行。为舞台和图层分配的内存量大约是每层6 Mb或600 Mb。然后我添加了代码去除setInterval函数中的每个图层,然后调用stage.reset()来确保。在剖析中,内存利用率并未降低。KineticJS回收内存

我检查了我的代码,以确定我没有保留对图层的引用。在一次测试中,我也取消了阶段,但内存分配的值不会改变。这可能是一个错误,或者是否有其他方式来使用KineticJS回收内存?

+0

我正面临类似的问题。 @Ryan,你是否找到解决问题的办法? – Jaffer

+0

@Jaffer这不是我的问题;我只是给它添加了一个标签。祝你好运! –

+0

啊,对@Ryan抱歉。布鲁斯,我转移到了Fabric.js,页面的内存占用率显着提高。 – Jaffer

回答

0

这是许多浏览器的'垃圾收集'问题。基本上,只是解引用不会释放内存。你必须依靠浏览器来识别何时释放一些内存。我在使用某些Android浏览器时遇到了同样的问题。基本上,我刚刚安装了最新的Firefox浏览器,并且它运行得更好。 对不起,我没有更多的帮助。