angular / angular/components

[Sidenav] Memory leak when used inside router-outlet

Aperta
#8,862 17 commenti 1 reazione 0 assegnatari Vedi su GitHub
area: material/sidenav P3 perf
Lingua principale
TypeScript
Stelle
25k
Fork
6.8k
Merge medio
1g 8h
PR unite (30g)
91

Descrizione

#### Bug, feature request, or proposal:

When a sidenav is used "inside" router-outlet, it seems there is a memory leak. When the router-outlet is inside the sidenav, there is no problem.

I use the "Take heap snapshot" of Chrome to see the problem.

#### What are the steps to reproduce?

Sample available on:

https://stackblitz.com/edit/angular-material2-issue-xmgukp?file=app%2Fapp.component.ts

Open in Chrome:

https://angular-material2-issue-xmgukp.stackblitz.io/

- Switch between "one" and "two" routes a few times.
- Take a heap snapshot
- Switch again between routes
- Take another snapshot and compare => OneComponent and TwoComponent are not freed (among many other objects...)

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con la riproduzione collegata di StackBlitz e riproduci la perdita passando da una all'altra delle route one e two all'interno di sidenav. Confronta gli heap snapshot di Chrome prima e dopo ulteriori passaggi; è completato quando OneComponent e TwoComponent, insieme agli oggetti correlati, vengono rilasciati invece di essere mantenuti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
angular, typescript
Ambito
frontend, performance
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.