angular.js - parse HTML-Funktion dauert 2000ms und viel mehr [geschlossen]

8

Ich versuche, meine Website zu beschleunigen. Das habe ich in den Entwicklerwerkzeugen von chrome in Timeline / Profile JS gefunden. In enthält wie 150 diese blau Parse HTML (im Bildschirm).

Es ist 50% der Ladezeit. Ich habe es mit einem Tablet getestet und diese Funktion hat sogar 15000ms gekostet! Ich setze den Routenanbieter wie folgt:

%Vor%

Was ist los? Die komplette Größe der Webseite beträgt 500kb. Es hat 97 Bereiche.

Edit: wenn ich Website ohne eckigen auf Tablet testen, Ladezeit ist 2.5s (wie ich oben mit eckigen zeigte es war mehr als 18 Sekunden). Ich bin bereit, für die Lösung zu bezahlen.

Ich füge auch Zeitachse-Daten hinzu, die ich debuggte (auf dem Tablet). Sie können eine Chronik in Chrome überprüfen. Öffnen Sie die Entwicklerkonsole (F12). Klicken Sie auf die Registerkarte Zeitleiste. Klicken Sie mit der rechten Maustaste auf diese Registerkarte und wählen Sie Zeitachsen-Daten laden.

Edit 2: Ich benutze eckiges Material , und ich denke, das könnte das Problem und das könnte alles diese parsen HTML, weil es zum Beispiel viele Knöpfe gibt.

    
dontHaveName 04.08.2015, 19:31
quelle

1 Antwort

1

Du hast deinen Code nicht gepostet, aber unter den langsamen Machern:

  • Zu viele Reflows, Repaints, parseHTML
  • Langsam dreckige Überprüfung
  • Zu viele DOM-Vorgänge

In kurzen Lösungen unten:

  • Verwenden Sie Anweisungen mit Inline-Vorlagen
  • Verwenden Sie $ templateCache
  • Speicher erneut verwenden, anstatt neuen Speicher zuzuweisen
  • Verwenden Sie weniger Uhr
  • Verschiebung der Elementerstellung
  • Verhindern Sie große und komplexe ng-Wiederholungen (z. B. Paginierung anwenden)
  • Verhindern Sie mehrere (initiale) Anfragen von einer Seite

Wo geht es schief?

Verwenden Sie ein Tool neben der Chrome-Entwicklerleiste als Batarang, um Ihre angularjs-App zu debuggen und zu profilieren. Downloaden Sie es von: Ссылка

Lesen Sie hier mehr:

schellingerht 10.08.2015, 21:09
quelle