Backbonejs App中的内存泄漏问题

bit*_*fer 9 jquery memory-leaks requirejs backbone.js

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

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

然而,当我跑步时chrome heap profilier,我detached DOM tree仍然可以看到仍在闲逛.展望深进去,可以看到references通过保持jQuery.

我怀疑这是否是内存泄漏.如果是,mycode没有保留任何参考.那么问题在于jQuery什么?

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

堆快照1

堆快照2

Detached DOM元素的引用

Eng*_*ery 1

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

  • 实际上,Backbone 直接使用就可以,不需要额外的框架,并且确实被大量开发人员直接使用。但是,您关于孤立视图的观点是有效的。管理孤立视图的清理应该是任何主干实施的标准流程。 (3认同)