我的应用程序中存在大量内存泄漏但我没有找到原因,这是背景。
许多听众的约束如下:
$(element).on(“keyup”,function(){});
所以问题是
我是否需要通过以下方式取消绑定指令中的侦听器?
scope.$on("$destroy", function() {
$(element).off();
});
顺便说一句,你如何找到Web应用程序中的内存泄漏?
我使用chrome的个人资料(见Profiling memory performance)
但我无法追溯内存泄漏的代码。你有什么建议吗?
非常感谢!
答案 0 :(得分:14)
范围销毁的Angular文档意味着您确实需要删除DOM事件。
http://docs.angularjs.org/api/ng.$rootScope.Scope#$destroy
请注意,在AngularJS中,还有一个$ destroy jQuery事件 可以在删除元素之前用于清理DOM绑定 DOM。
答案 1 :(得分:4)
我必须不同意接受的答案,你的内存泄漏可能有其他原因。