在我的应用程序中有一个沉重的内存泄漏,但我没有找到原因,这里是背景。
>我使用AngularJS JQuery(插件)
>许多听众被绑定如下:
$(element).on(“keyup”,function(){});
所以问题是
我需要通过以下方式解除这些听众的指示吗?
scope.$on("$destroy",function() { $(element).off(); });
BTW,你如何通常在Web应用程序中找到内存泄漏?
我使用chrome的个人资料(见这里Profiling memory performance)
但是我无法追踪内存泄漏的代码。你有什么建议吗?
非常感谢!
解决方法
对于范围破坏的Angular文档意味着您需要删除DOM事件。
http://docs.angularjs.org/api/ng.$rootScope.Scope#$destroy
Note that,in AngularJS,there is also a $destroy jQuery event,which can be used to clean up DOM bindings before an element is removed from the DOM.