我目前正在使用骨干网来实现我的应用程序。作为内存管理的一部分,我将在切换视图时触发所有视图的拆卸
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”进行内存管理吗?