2

我一直在使用 KineticJS 构建一个 iOS 应用程序(UIWebView)。我创建了一个简单的示例应用程序,只是为了了解内存利用率。我创建了一个舞台,向其中添加了 100 层,每层添加了一条线。为阶段和层分配的内存量约为每层 6 Mb 或 600 Mb。然后,我添加了代码以删除 setInterval 函数中的每一层,然后调用 stage.reset() 来确定。在分析中,内存利用率并没有降低。

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

4

1 回答 1

0

对于许多浏览器来说,这是一个“垃圾收集”问题。基本上,只是取消引用不会释放内存。您必须依靠浏览器来识别何时释放一些内存。我在某些 Android 浏览器上遇到了同样的问题。基本上,我刚刚安装了最新的 Firefox 浏览器,它运行得更好。抱歉,我无法提供更多帮助。

于 2013-01-02T16:21:13.103 回答