9

我正在使用BackbonejsRequirejs创建单页网络应用程序。好像我的应用有memory leaks.

为了测试,我创建了一个示例代码。它创建一个视图对象,调用它的render函数并将返回的附加htmlDOM.
返回的html有一个button. 单击按钮后,它会callback调用destroy视图被销毁的函数。

但是,当我跑步时chrome heap profilier,我可以看到detached DOM tree仍然徘徊。深入其中,可以看到references被保留的jQuery

我怀疑这是否是内存泄漏。如果是,mycode 没有保留任何引用。那么问题出在jQuery哪里?

这是示例代码的链接。
我还附上了堆快照的屏幕截图。

堆快照 1

堆快照 2

分离的 DOM 元素的参考

4

2 回答 2

1

使用主干构建的应用程序通常存在由孤立视图引起的内存泄漏。我使用木偶来处理这个问题,它为我管理我的观点。直接使用主干不是一种典型的方法,因为它实际上是一个开发框架的工具包。

于 2013-06-08T01:11:58.850 回答
1

通过这个链接你会得到更多的想法,你可能会找到解决问题的可能

https://paydirtapp.com/blog/backbone-in-practice-memory-management-and-event-bindings/

http://lostechies.com/derickbailey/2012/03/19/backbone-js-and-javascript-garbage-collection/

祝你好运,我希望你能尽快解决这个问题

于 2013-06-08T06:33:09.723 回答