【发布时间】:2015-04-28 20:04:14
【问题描述】:
我目前正在使用骨干网来实现我的应用程序。作为内存管理的一部分,我会在切换视图时触发所有视图的拆卸
teardown: ->
for viewName, view of @subViews
view.teardown()
for object, events of @objectEvents
@_handleObjectEvents("off", object, events)
@off()
@remove()
@undelegateEvents()
@
这种方法是否足以确保解决大部分内存问题?我在这里看到的挑战是我需要跟踪每个视图的所有子视图,并在清理过程中调用所有主视图和子视图的拆卸。
我做了一些搜索,发现主干也有这两个事件:“listenTo”和“stopListening”,我们在视图级别控制事件与模型的绑定。
view.listenTo(model, 'change', view.render);
view.stopListening(model);
我的问题是,我的拆卸实现和使用“stopListening”之间是否存在重叠?我可以只使用“stopListening”进行内存管理吗?
【问题讨论】:
-
@DerickBailey,我知道您是主干内存管理的主题专家 =),因此在此处标记您,希望您能在这里帮助我。提前致谢!
标签: backbone.js bind listen teardown