我正在使用Backbonejs
和Requirejs
来创建单页网页应用。
我的应用似乎有memory leaks
。
为了测试,我创建了一个示例代码。它创建一个视图对象,调用其render
函数并将返回的html
附加到DOM
。
返回的html
有一个button
。点击该按钮后,其callback
调用destroy
功能即可销毁视图。
但是,当我运行chrome heap profilier
时,我可以看到detached DOM tree
仍在闲逛。深入研究,references
可以看到jQuery
。
我怀疑这是否是内存泄漏。
如果是,mycode没有保留任何参考。
那么问题出在jQuery
?
以下是link示例代码
我还附上了堆快照的屏幕截图。
答案 0 :(得分:1)
使用主干构建的应用程序通常会由孤立视图导致内存泄漏。我通过使用管理我的观点的木偶来解决这个问题。直接使用骨干不是一种典型的方法,因为它实际上是一个开发框架的工具包。
答案 1 :(得分: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/
祝你好运 我希望你能迅速解决这个问题