Chrome开发工具时间表说我有孤立的DOM节点

时间:2013-11-07 21:33:39

标签: javascript jquery dom backbone.js google-chrome-devtools

我正在Backbone.js中构建一个单页应用程序,可以扩展到10K的照片。我正在尝试测试Chrome的限制,看看我是否会遇到这个webkit错误:

Unbounded memory growth when adding and removing images

我正在使用和将Backbone.View的实例加载到DOM树中,并将调用以下内容删除:

// myThmbnailView instanceof Backbone.View
myThumbnailView.undelegateEvents();
myThumbnailView.remove();

ThumbnailView没有声明事件处理程序,所有内容都委托给父项GalleryView。

根据ChromeDevTools上的时间轴,我的页面上有1000个DOM节点(每个ThumbnailView包含20个DOM元素),但是当我遍历我的缩略图并删除时,它们不会被释放。这是一个快照

Timeline Snapshot

根据时间轴,$("body").children().remove()从页面中删除所有DOM元素的最后调用仍然留下了18K DOM节点。但是,GC似乎释放了大量内存。

我是否有孤立节点或这是时间线错误?我是否错误地接近了这个问题?

1 个答案:

答案 0 :(得分:0)

尝试这个

initialize: function() {
            this.$el.off();
        },