我正在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元素),但是当我遍历我的缩略图并删除时,它们不会被释放。这是一个快照
根据时间轴,$("body").children().remove()
从页面中删除所有DOM元素的最后调用仍然留下了18K DOM节点。但是,GC似乎释放了大量内存。
我是否有孤立节点或这是时间线错误?我是否错误地接近了这个问题?
答案 0 :(得分:0)
尝试这个
initialize: function() {
this.$el.off();
},