Utilizza lo strumento Profiler di allocazione per trovare gli oggetti che non vengono correttamente garbage collection e continuare a conservare la memoria.
Come funziona lo strumento
Il profiler di allocazione combina le informazioni dettagliate sullo snapshot del profiler heap con l'aggiornamento e il monitoraggio incrementali del riquadro Cronologia. Analogamente a questi strumenti, l'allocazione dell'heap degli oggetti di monitoraggio prevede l'avvio di una registrazione, l'esecuzione di una sequenza di azioni, quindi l'interruzione della registrazione per l'analisi.
Lo strumento crea periodicamente snapshot dell'heap durante la registrazione (ogni 50 ms) e uno snapshot finale al termine della registrazione.
Abilita Profiler allocazione
Per iniziare a utilizzare il profiler di allocazione:
- Assicurati di avere la versione più recente di Chrome Canary.
- Apri Strumenti per sviluppatori e fai clic sull'icona a forma di ingranaggio in basso a destra.
- Ora apri il riquadro Profiler. Dovresti vedere un profilo chiamato "Allocazioni degli heap record"
Lettura di un profilo di allocazione dell'heap
Il profilo di allocazione dell'heap mostra dove vengono creati gli oggetti e identifica il percorso di conservazione. Nell'istantanea seguente, le barre in alto indicano quando vengono trovati nuovi oggetti nell'heap.
L'altezza di ogni barra corrisponde alle dimensioni degli oggetti allocati di recente e il colore delle barre indica se questi oggetti sono ancora attivi nello snapshot finale dell'heap. Le barre blu indicano gli oggetti ancora presenti alla fine della sequenza temporale, mentre le barre grigie indicano gli oggetti allocati durante la sequenza temporale, ma che successivamente sono stati garbage collection:
Nell'istantanea seguente, un'azione è stata eseguita 10 volte. Il programma di esempio memorizza nella cache 5 oggetti, quindi le ultime 5 barre blu Tuttavia, la barra blu all'estrema sinistra indica un potenziale problema.
Puoi quindi utilizzare i dispositivi di scorrimento nella sequenza temporale in alto per aumentare lo zoom sullo snapshot specifico e visualizzare gli oggetti allocati di recente in quel punto:
Se fai clic su un oggetto specifico nell'heap, il relativo albero di conservazione verrà visualizzato nella parte inferiore dell'istantanea dell'heap. L'esame del percorso di conservazione dell'oggetto dovrebbe fornire informazioni sufficienti per capire perché l'oggetto non è stato raccolto e puoi apportare le modifiche necessarie al codice per rimuovere il riferimento non necessario.
Visualizza l'allocazione della memoria per funzione
Puoi anche visualizzare l'allocazione della memoria per funzione JavaScript. Per ulteriori informazioni, vedi Esaminare l'allocazione della memoria per funzione.