我一直在使用KineticJS来构建iOS应用程序(UIWebView)。我创建了一个简单的示例应用程序,只是为了了解内存利用率。我创建了一个单独的舞台,为它添加了100个图层,每个图层添加了一行。为阶段和层分配的内存量约为每层6 Mb或600 Mb。然后我添加了代码来删除setInterval函数中的每一层,然后调用stage.reset()来确定。在分析中,内存利用率没有降低。
我查看了我的代码,以确保我没有保留对图层的引用。在一个测试中,我也取消引用了阶段,但内存分配值不会改变。这可能是一个错误,还是有其他方法可以使用KineticJS回收内存?
答案 0 :(得分:0)
这是许多浏览器的“垃圾收集”问题。基本上,只是取消引用不会释放内存。您必须依赖浏览器来识别何时释放一些内存。我在一些Android浏览器上遇到了同样的问题。基本上,我刚安装了最新的Firefox浏览器,它运行得更好。 对不起,我无法提供更多帮助。