Hi all,

I've been hunting down a memory leak in my Chrome New Tab Page extension 
for a number of weeks. After removing a number of programmer errors 
(forgetting to clear observers and listeners), my scopes were still not 
getting cleared and I was leaking 20mb+ between route changes. 

Inspecting JS heaps reveals that it seems to be JQuery cache references 
that seem to be hanging on to detached DOM nodes that retain my old child 
scopes, and indeed, disabling Jquery and relying on Angular's JQuery Lite 
implementation eliminates the leak completely. At this point, the only 
libraries I am using are JQuery and Angular, I do not use Jquery directly 
anywhere in my code, and it can only seem to be some kind of bug where the 
Jquery data cache isn't getting cleared due to some quirk in Chrome's 
extension architecture (splitting the JS runtime between foreground page 
process and a background script that has access to the DOM somehow).

I guess I don't have much of a choice other than dropping Jquery and its 
dependant libraries and looking for alternatives somehow, but maybe someone 
else has encountered this and could share some insight between the 
differences of full fledged Jquery and Jquery lite that might be causing 
this issue. Below is a screen cap showing a typically leaked node.


<https://lh6.googleusercontent.com/-_z5dH9qnkJU/UuiOcs0PXMI/AAAAAAAAFk4/dSXa3hqyocY/s1600/snapshot1.png>
Thanks for your time!
Ryan Swart

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to