Utilisez l'outil Chronologie d'allocation pour trouver les objets qui ne sont pas correctement collectés et qui continuent de conserver de la mémoire.
Fonctionnement de l'outil
Un rapport Chronologie d'allocation combine les informations détaillées de l'instantané du profileur de tas avec la mise à jour et le suivi incrémentiels du panneau "Chronologie". Comme ces outils, le suivi de l'allocation de tas implique de démarrer un enregistrement, d'effectuer une séquence d'actions, puis d'arrêter l'enregistrement pour l'analyser.
L'outil prend des instantanés de tas de mémoire de manière périodique tout au long de l'enregistrement (aussi souvent que toutes les 50 ms) et un dernier instantané à la fin de l'enregistrement.
Enregistrer un rapport sur la chronologie d'allocation
Pour commencer à utiliser l'outil Chronologie des allocations, procédez comme suit:
- Ouvrez le panneau Mémoire dans les outils pour les développeurs.
- Activez le profil Allocations dans la chronologie.
- Appuyez sur le bouton Start (Démarrer) pour commencer l'enregistrement.
Lire un profil d'allocation de segments de mémoire
Le profil d'allocation de tas indique où les objets sont créés et identifie le chemin de conservation. Dans l'instantané suivant, les barres en haut indiquent quand de nouveaux objets sont détectés dans la pile.
La hauteur de chaque barre correspond à la taille des objets récemment alloués, et la couleur des barres indique si ces objets sont toujours actifs dans l'instantané final de la pile. Les barres bleues indiquent les objets qui sont toujours actifs à la fin de la chronologie. Les barres grises indiquent les objets qui ont été alloués au cours de la chronologie, mais qui ont depuis été collectés:
Vous pouvez faire un zoom avant pour filtrer le volet Constructeur afin d'afficher uniquement les objets qui ont été alloués au cours de la période spécifiée. Pour faire un zoom avant, faites glisser votre souris sur la période sur laquelle vous souhaitez vous concentrer dans la timeline.
Cliquez sur un constructeur spécifique dans le volet Constructeur pour afficher son arbre de rétention dans le volet Retenues. L'examen du chemin de rétention vers l'objet devrait vous fournir suffisamment d'informations pour comprendre pourquoi l'objet n'a pas été collecté. Vous pouvez ensuite apporter les modifications de code nécessaires pour supprimer la référence inutile.
Afficher l'allocation de mémoire par fonction
Vous pouvez également afficher l'allocation de mémoire par fonction JavaScript. Pour en savoir plus, consultez la section Examiner l'allocation de mémoire par fonction.