Heim Web-Frontend H5-Tutorial Optimierung der mobilen HTML5-Leistung

Optimierung der mobilen HTML5-Leistung

Mar 22, 2017 am 11:09 AM
html5 性能优化 移动端

HTML5-Leistungsoptimierung für mobile Endgeräte
[Einleitung] Dank der Beliebtheit von Smartphones und der Internet+-Bewegung in allen Lebensbereichen ist der Marktanteil mobiler Endgeräte stark gewachsen. Im Januar 2016 veröffentlichte E-Commerce-Daten für das Jahr 2015 zeigten, dass Chinas mobiles Online-Shopping-Transaktionsvolumen im Jahr 2015 im Jahresvergleich um 123,2 % anstieg und damit erstmals 55 % des gesamten Online-Shopping-Transaktionsvolumens ausmachte PC-Seite.
Technisch gesehen ist HTML5 sehr beliebt:
1: Daten zeigen, dass im Jahr 2015 80 % der Apps ganz oder teilweise auf HTML5 basieren.
2: Ab dem 1. September unterstützt Google Chrome die automatische Wiedergabe von Flash nicht mehr.
3: Alle Anzeigen auf den Websites von Amazon (einschließlich des Amazon.com-Portals) verwenden kein Flash mehr. In absehbarer Zeit werden Flash-Anzeigen durch HTML5-Anzeigen ersetzt.
Mobiles Endgerät + HTML5, diese Kombination stellt eine große Herausforderung für Front-End-Ingenieure dar: Wie kann man dafür sorgen, dass die entwickelten Seiten ein besseres Erlebnis bieten? Dies ist das Thema, über das wir heute sprechen: Optimierung der Front-End-Leistung mobiler HTML5-Seiten.
PHP Chinesische Website-HTML5-Schulung, wie man die Leistung von HTML5 auf Mobilgeräten optimiert, muss zunächst die folgenden Prinzipien klären:
1. PC-Optimierungsmethoden sind auch auf der Mobilseite anwendbar.
2. Auf der mobilen Seite schlagen wir eine dreisekündige Rendering-Abschlussanzeige für den ersten Bildschirm vor.
3. Basierend auf dem zweiten Punkt sollte der erste Bildschirm in 3 Sekunden geladen werden oder Loading verwenden.
4. Basierend auf den durchschnittlichen 338 KB/s (2,71 Mbit/s) des 3G-Netzwerks von China Unicom sollte die erste Bildschirmressource 1014 KB nicht überschreiten.
5. Aufgrund der mobilen Konfiguration des Mobiltelefons steht neben der Ladegeschwindigkeit auch die Rendering-Geschwindigkeit im Fokus der Optimierung.
6. Basierend auf dem fünften Punkt muss der Code angemessen verarbeitet werden, um den Rendering-Verlust zu reduzieren.
7. Basierend auf dem zweiten und fünften Punkt sollten alle Codes, die das Laden und Rendern des ersten Bildschirms beeinflussen, hinter der Verarbeitungslogik platziert werden.
8. Nach Abschluss des Ladevorgangs müssen Benutzer auch bei der interaktiven Verwendung auf die Leistung achten.
Wir diskutieren mehrere repräsentative Lösungen:
Ladeoptimierung
Bei mobilen Webseiten ist der Ladevorgang der zeitaufwändigste Prozess und kann 80 % der Gesamtzeit ausmachen Natürlich darf die Optimierung anderer Frontend-Elemente der mobilen Website nicht außer Acht gelassen werden.
1. HTTP-Anfragen reduzieren
Da der mobile Browser auf 4 Anfragen gleichzeitig reagiert (Android unterstützt 4, iOS 5 kann 6 unterstützen), ist es notwendig, die Anzahl zu minimieren Seitenanfragen. Die Anzahl der gleichzeitigen Anfragen für den ersten Ladevorgang darf 4 nicht überschreiten. Es werden folgende Optimierungspunkte empfohlen:
1. Kleine Bilder zusammenführen, Sprite-Bilder verwenden 🎜>
2. Cache
Die Verwendung von Caching kann die Anzahl der Anfragen an den Server reduzieren und Ladezeit sparen, daher müssen alle statischen Ressourcen auf der Serverseite zwischengespeichert werden und es sollten ebenso viele lange Caches verwendet werden wie möglich (Zeitstempel können verwendet werden, um lange Cache-Ressourcen zu aktualisieren). 1. Alle zwischenspeicherbaren Ressourcen zwischenspeichern
2. Verwenden Sie einen langen Cache (verwenden Sie einen Zeitstempel, um den Cache zu aktualisieren)

3

Eine Reduzierung der Ressourcengröße kann die Anzeige von Webseiten beschleunigen, daher sollte die Codekomprimierung für HTML, CSS, Java usw. durchgeführt werden und GZip sollte auf der Serverseite eingestellt werden. 1. Komprimierung (z. B. zusätzliche Leerzeichen, Zeilenumbrüche und Einzüge)
4. Nicht blockierend

Java im HTML-Header geschrieben (Kein asynchrones). ), und in HTML-Tags geschriebener Style blockiert das Rendern der Seite, daher wird CSS am Kopf der Seite platziert und mit Link eingeführt, um das Schreiben von Style in HTML-Tags zu vermeiden, und Java wird am Ende der Seite platziert oder geladen asynchron
5. Verwenden Sie das Laden des ersten Bildschirms
Die schnelle Anzeige des ersten Bildschirms kann die Wahrnehmung der Seitengeschwindigkeit durch den Benutzer erheblich verbessern, daher sollten Sie Ihr Bestes geben, um die schnelle Anzeige des ersten Bildschirms zu optimieren Bildschirm.
6. Laden bei Bedarf
Stellen Sie Ressourcen, die sich nicht auf den ersten Bildschirm auswirken, und Ressourcen, die derzeit nicht auf dem aktuellen Bildschirm verwendet werden, so ein, dass sie nur dann geladen werden, wenn der Benutzer sie benötigt, was möglich ist Verbessern Sie die Anzeigegeschwindigkeit wichtiger Ressourcen erheblich und reduzieren Sie den Gesamtfluss.
1. LazyLoad 2. Laden durch Medienabfrage Darüber hinaus möchte ich alle daran erinnern: Das Laden bei Bedarf führt zu einer großen Anzahl von Neuzeichnungen und beeinträchtigt die Rendering-Leistung .

7. Vorabladen

Große ressourcenintensive Seiten (z. B. Spiele) können die Lademethode verwenden. Die Seite wird jedoch nach dem Laden angezeigt Ist die Länge zu lang, führt dies zu Benutzerverlusten.
1. Wahrnehmbares Laden (z. B. Laden in ein Weltraumspiel)
2. Unsichtbares Laden (z. B. Laden der nächsten Seite im Voraus) 3. Zur Analyse des Benutzerverhaltens können Sie die nächste Seite laden die aktuellen Seitenressourcen, um die Geschwindigkeit zu erhöhen.
8. Komprimierte Bilder

Bilder sind die Ressource, die den meisten Verkehr ausmacht. Vermeiden Sie daher deren Verwendung (je nach Bedarf). (Bedürfnisse, Beurteilung anhand der Größe), die geeignete Größe ist, und verwenden Sie dann Smart Map, um sie zu komprimieren, und verwenden Sie Srcset im Code, um sie bei Bedarf anzuzeigen.
1. Verwenden Sie intelligente Bilder
2. Verwenden Sie andere Methoden, um Bilder zu ersetzen (verwenden Sie CSS3; verwenden Sie IconFont) 3. Wählen Sie geeignete Bilder (webP ist besser als JPG ; PNG8 ist besser als GIF) 5. Wählen Sie die entsprechende Größe (der erste Ladevorgang sollte nicht größer als 1014 KB sein; basierend auf dem Bildschirm des Mobiltelefons ist die Breite im Allgemeinen nicht breiter als 640)
Erinnern Sie alle daran: Eine übermäßige Komprimierung der Bildgröße beeinträchtigt die Bildanzeige Wirkung.
9. Reduzieren Sie Cookies, vermeiden Sie Weiterleitungen und asynchrones Laden von Ressourcen Dritter.
Cookies wirken sich auf die Ladegeschwindigkeit aus, daher verwenden statische Ressourcendomänen keine Cookies. Darüber hinaus wirkt sich die Umleitung auf die Ladegeschwindigkeit aus. Stellen Sie sie daher auf dem Server richtig ein, um eine Umleitung zu vermeiden. Außerdem wirken sich unkontrollierbare Ressourcen von Drittanbietern auf das Laden und Anzeigen der Seite aus, sodass Ressourcen von Drittanbietern asynchron geladen werden müssen.
Optimierung der Skriptausführung
Eine unsachgemäße Handhabung von Skripten blockiert das Laden und Rendern von Seiten, daher müssen Sie bei der Verwendung auf die folgenden Punkte achten:
1 CSS ist in geschrieben Head und Java werden im Tail oder asynchron geschrieben.
2. Vermeiden Sie leere Src für Bilder, iFrames usw. Leere Src lädt die aktuelle Seite neu, was sich auf Geschwindigkeit und Effizienz auswirkt.
3. Vermeiden Sie die Größenänderung des Bildes, wenn Sie die Größe des Bildes mehrmals auf der Seite, in CSS, in Java usw. ändern. Die mehrfache Größenänderung des Bildes führt dazu, dass das Bild mehrmals neu gezeichnet wird, was sich auf die Leistung auswirkt. .
4. Vermeiden Sie die Verwendung von DataURL für Bilder, die den Bildkomprimierungsalgorithmus nicht verwenden. Sie werden größer und müssen vor dem Rendern dekodiert werden, was das Laden langsam und zeitaufwändig macht.
CSS-Optimierung
1 Versuchen Sie, das Style-Attribut in das HTML-Tag zu schreiben.
2. Vermeiden Sie CSS-Ausdrücke. Die Ausführung von CSS-Ausdrücken muss aus dem Rendering des CSS-Baums herausspringen. Vermeiden Sie daher bitte CSS-Ausdrücke.
3. Leere CSS-Regeln entfernen. Leere CSS-Regeln erhöhen die Größe von CSS-Dateien und wirken sich auf die Ausführung des CSS-Baums aus. Daher müssen leere CSS-Regeln entfernt werden.
4. Verwenden Sie das Anzeigeattribut korrekt. Das Anzeigeattribut wirkt sich auf die Darstellung der Seite aus. Es wird empfohlen, dass Webmaster es sinnvoll verwenden.
(1), width, height, margin, padding und float sollten nicht nach display:inline verwendet werden
(2), float sollte nicht nach display:inline-block
(3) verwendet werden, display Vertical-align sollte nicht nach :block
(4) verwendet werden, margin oder float sollten nicht nach display:table-*
5 verwendet werden. Float erfordert beim Rendern keinen großen Rechenaufwand. Versuchen Sie daher, den Verbrauch so weit wie möglich zu reduzieren.
6. Web-Schriftarten dürfen nicht missbraucht werden. Sie müssen auf der aktuellen Seite so wenig wie möglich heruntergeladen, analysiert und neu gezeichnet werden.
7. Deklarieren Sie nicht zu viel Schriftgröße, da eine zu große Schriftgröße die Effizienz des CSS-Baums beeinträchtigt.
8. Wenn der Wert 0 ist, ist aus Gründen der Browserkompatibilität und Leistung keine Einheit erforderlich, wenn der Wert 0 ist.
9. Standardisieren Sie verschiedene Browser-Präfixe
(1) Es sollte kein Präfix an letzter Stelle stehen.
(2) Es können nur zwei Arten von CSS-Animationen (-webkit- ohne Präfix) verwendet werden.
(3), andere Präfixe sind „-webkit- -moz- -ms-no prefix“ (-o-Opera-Browser verwendet stattdessen den Blink-Kernel, daher wird er eliminiert).
10. Vermeiden Sie es, Selektoren wie reguläre Ausdrücke aussehen zu lassen.
Die Ausführung erweiterter Selektoren dauert lange und ist schwer zu verstehen. Vermeiden Sie daher deren Verwendung.
Java-Ausführungsoptimierung
1. Reduzieren Sie Neuzeichnen und Reflow
(1), vermeiden Sie unnötige Dom-Operationen
(2), versuchen Sie, Klasse anstelle von Stil zu ändern, verwenden Sie classList anstelle von className
( 3) Vermeiden Sie die Verwendung von document.write
(4) Reduzieren Sie drawImage
2. Dom-Auswahl und -Berechnung zwischenspeichern Jedes Mal, wenn Dom ausgewählt wird, muss es berechnet und zwischengespeichert werden.
3. Cache-Liste .length, .length muss jedes Mal berechnet werden und eine Variable verwenden, um diesen Wert zu speichern.
4. Versuchen Sie, Ereignis-Proxys zu verwenden, um eine Stapelbindung von Ereignissen zu vermeiden.
5. Versuchen Sie, den ID-Selektor zu verwenden. Der ID-Selektor ist am schnellsten.
6. TOUCH-Ereignisoptimierung: Verwenden Sie aufgrund der schnellen Auswirkung Touchstart und Touchend anstelle von Klicken. Beachten Sie jedoch, dass die Touch-Reaktion zu schnell ist, was leicht zu Fehlbedienungen führen kann.
Rendering-Optimierung
HTML-Dokumente werden zwischen Netzwerken in einem Datenstrom übertragen, der Dokumentkodierungsinformationen enthält. Die Kodierungsinformationen der Seite werden im Allgemeinen in den Header-Informationen der HTTP-Antwort oder im HTML-Markup innerhalb des Dokuments angegeben Client Der Browser kann die Seite erst korrekt rendern, nachdem er die Seitenkodierung ermittelt hat. Daher puffern die meisten Browser (außer ie6, ie7 und ie8) eine bestimmte Anzahl von Datenbytes, nach denen gesucht werden soll Aufgrund der Codierungsinformationen ist die Anzahl der vorgepufferten Bytes in verschiedenen Browsern unterschiedlich.
1. HTML verwendet Viewport
Viewport kann das Rendern der Seite beschleunigen, bitte verwenden Sie den folgenden Code:
2. Dom-Knoten reduzieren
Zu viele Dom-Knoten wirken sich auf das Rendern der Seite aus Reduzieren Sie Dom-Knoten so weit wie möglich.
3. Animationsoptimierung
(1) Versuchen Sie, CSS3-Animationen zu verwenden.
(2) Verwenden Sie sinnvollerweise die Animation „requestAnimationFrame“ anstelle von „setTimeout“.
(3) Verwenden Sie die Canvas-Animation entsprechend für 5 Elemente und verwenden Sie die Canvas-Animation für mehr als 5 Elemente (WebGL kann für iOS8 verwendet werden).
4. Hochfrequenz-Ereignisoptimierung
Touchmove- und Scroll-Ereignisse können zu mehreren Renderings führen.
(1) Verwenden Sie requestAnimationFrame, um Frame-Änderungen zu überwachen, damit das Rendern zum richtigen Zeitpunkt durchgeführt werden kann.
(2) Erhöhen Sie das Zeitintervall für die Reaktion auf Änderungen und reduzieren Sie die Anzahl der Neuzeichnungen.
5. GPU-Beschleunigung

Die folgenden Eigenschaften in CSS (CSS3-Übergänge, CSS3-3D-Transformationen, Deckkraft, Canvas, WebGL, Video) lösen das GPU-Rendering aus. Bitte verwenden Sie sie sinnvoll. (PS: Übermäßige Nutzung führt zu einem übermäßigen Stromverbrauch von Mobiltelefonen.)

Verwandte Artikel:

Entfernen Sie den weißen Hintergrund und Rand des Eingabefelds auf der mobilen HTML5-Seite (kompatibel). mit Android und iOS)

Wie entwickelt man mobiles HTML5? Was ist der Unterschied zur PC-Version?

Benötigen Benutzer wirklich mobile HTML5-Anwendungen? Wenn ja, welche Nachfrageszenarien gibt es?

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Tabellenrahmen in HTML Tabellenrahmen in HTML Sep 04, 2024 pm 04:49 PM

Anleitung zum Tabellenrahmen in HTML. Hier besprechen wir verschiedene Möglichkeiten zum Definieren von Tabellenrändern anhand von Beispielen für den Tabellenrand in HTML.

Verschachtelte Tabelle in HTML Verschachtelte Tabelle in HTML Sep 04, 2024 pm 04:49 PM

Dies ist eine Anleitung für verschachtelte Tabellen in HTML. Hier diskutieren wir anhand der entsprechenden Beispiele, wie man eine Tabelle innerhalb der Tabelle erstellt.

HTML-Rand links HTML-Rand links Sep 04, 2024 pm 04:48 PM

Anleitung zum HTML-Rand links. Hier besprechen wir einen kurzen Überblick über HTML margin-left und seine Beispiele sowie seine Code-Implementierung.

HTML-Tabellenlayout HTML-Tabellenlayout Sep 04, 2024 pm 04:54 PM

Leitfaden zum HTML-Tabellenlayout. Hier besprechen wir die Werte des HTML-Tabellenlayouts zusammen mit den Beispielen und Ausgaben im Detail.

HTML-Eingabeplatzhalter HTML-Eingabeplatzhalter Sep 04, 2024 pm 04:54 PM

Leitfaden für HTML-Eingabeplatzhalter. Hier besprechen wir die Beispiele für HTML-Eingabeplatzhalter zusammen mit den Codes und Ausgaben.

Text in HTML verschieben Text in HTML verschieben Sep 04, 2024 pm 04:45 PM

Anleitung zum Verschieben von Text in HTML. Hier besprechen wir eine Einführung, wie Marquee-Tags funktionieren, mit Syntax und Beispielen für die Implementierung.

HTML-geordnete Liste HTML-geordnete Liste Sep 04, 2024 pm 04:43 PM

Leitfaden zur HTML-geordneten Liste. Hier besprechen wir auch die Einführung von HTML-geordneten Listen und Typen sowie deren Beispiele

HTML-Onclick-Button HTML-Onclick-Button Sep 04, 2024 pm 04:49 PM

Anleitung zum HTML-OnClick-Button. Hier diskutieren wir deren Einführung, Funktionsweise, Beispiele und Onclick-Events in verschiedenen Veranstaltungen.

See all articles