-
Notifications
You must be signed in to change notification settings - Fork 27.5k
memory-leak in ng-repeat #4026
Comments
mkurtak, in order to identify what causes your memory leak, can you try to reduce the amount of code in your example? e.g. simplify the events.html and the dummy init data in the directive. Is all the code required to reproduce the issue? |
Ok i have simplified it on: http://plnkr.co/eRuNqTaKILjIsTkWUwIn. To reproduce it click on 'view1' and 'view2' again and again. After some time i can see Detache DOM tree elements growing. |
The memory usage does seem to be increasing. |
@mkurtak, I can't reproduce your problem either. In Chrome I only have one Detached DOM tree, not several like in your screenshot. How did you decide that FF is also leaking? |
We have created a script that keeps changing location from view1 to view2 every second and run this script in FF console. After some time FF process occupied 1,8 GB of memory. |
It seem you are right Igor. My fault. I didnt check that Chrome runs GC and clears Detached DOM elements after some time. Wouldn't it be better if all child scopes of $destroyed scope are also cleared (clear watchers, observers, listeners and scopes)? I've found this code in $destroy method of scope: // This is bogus code that works around Chrome's GC leak |
Hi,
I have found memory leak when using ng-view with ng-repeat in it. I believe it is a bug in angular 1.0.8 and 1.2.0.rc2. Here is a sample code http://plnkr.co/5adwl9kwCyxT5urU9D5x
and without directive http://plnkr.co/edit/eRuNqTaKILjIsTkWUwIn
Bug occures when switching between views:
view1 - view with directive nievents (ng-repeat inside it)
view2 - empty view
After switching between views several times, i can see Detached DOM tree (with 7529 entries) with elements from view1, although i am switched to view2. When you keep switching again and again, copies of Detached DOM trees are created and cause memory leak.
I am not able to determine what causes a memory leak, but I can see ng-repeat scopes are not destroyed (parent scopes from controller are destroyed).
Tested on Chrome 29.0.1547.66 m but FF is also leaking.
I attached screenshot of heap snapshot https://groups.google.com/forum/#!topic/angular/SZzrF1uR4OE
The text was updated successfully, but these errors were encountered: