J'ai une application, qui est très lente sur les PC bas de gamme, et je viens de télécharger Batarang pour surveiller les performances.Moniteur de performances de l'exécution du cycle digest
Sur une page vide, qui a seulement un en-tête et une barre latérale, je vois ceci:
Signification, le cycle est constamment en cours d'exécution. Je ne sais pas pourquoi, puisque je suis en train de regarder la page, ne pas cliquer sur une chose, ne pas bouger une chose.
Et dans une autre application AngularJS (pas de moi), je vois ceci:
Quand ne pas changer une chose, un condensé est en cours d'exécution toutes les 20-30 secondes.
Pourquoi une telle chose peut-elle se produire? Existe-t-il un moyen de vérifier quels observateurs ont déclenché le cycle de digestion?
EDIT:
Est-il possible d'imprimer tous les observateurs sales, et voir ce qui est l'expression qui est sale?
J'ai imprimé un guetteur au hasard:
JSON.stringify(getWatchers()[2]) "{"last":3,"eq":false}"
Il ne dit pas l'expression
vérifiez si vous avez un timeout $ quelque part, déboguez également tous les appels $ rootScope.apply – Marcus
Il ressemble à la deuxième carte nous courir toutes les 30 secondes, car il faut 30 secondes pour terminer. – pgreen2
@ pgreen2 non ... il se termine, sinon il continuera à le montrer – Amit