There is a heavy memory leak in my application but I haven't found out the causes, and here is the background.
Many listeners are bound like the following:
$(element).on("keyup", function() {});
So the question is
Do I need to unbind those listeners in directives by following?
scope.$on("$destroy", function() {
$(element).off();
});
BTW, how do you usually find out the memory leak in a web application? I use chrome's profile (see here Profiling memory performance) but I could not trace to the codes where memory leaks. Do you have any suggestions?
Thanks a lot!
The Angular documentation for scope destroy, implies that you do need remove DOM events.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With