Heim  >  Artikel  >  Java  >  Detailliertes Verständnis zur Verbesserung der APP-Leistung – Zusammenfassung

Detailliertes Verständnis zur Verbesserung der APP-Leistung – Zusammenfassung

ringa_lee
ringa_leeOriginal
2017-09-17 10:19:491486Durchsuche

Zusammenfassung: Der Artikel stellt umfassend vor, wie die Leistung mobiler Apps unter Aspekten wie der Optimierung der Größe mobiler Apps, App-API-Design, Architekturdesign, adaptiver Anzeige, schnellem Start usw. verbessert werden kann Nachfolgend finden Sie die Übersetzung.

Detailliertes Verständnis zur Verbesserung der APP-Leistung – Zusammenfassung
Letztes Jahr traf ich auf dem Rückflug von London eine Person, die in der Mobiltelefonbranche arbeitete. In den letzten 20 Jahren war er für die Einführung neuer Technologien in einem großen Unternehmen verantwortlich, das als führendes Unternehmen bezeichnet werden kann.

Während unseres 8-stündigen gemeinsamen Fluges erwähnte er einige Dinge, über die ich in letzter Zeit nachgedacht habe. Er glaubt, dass mobile Anwendungen und ihre Leistung weiterhin bereitgestellt werden. Tatsächlich kann er nicht einmal die Leistung mobiler Anwendungen überprüfen, um festzustellen, wie stark sie verbessert wurden.

Nachdem ich in San Francisco gelandet war, kontaktierte ich weitere Leute in der Mobilfunkbranche, um mehr über diese Angelegenheit zu erfahren, und stellte fest, dass sie alle ähnliche Ansichten hatten. Codequalität und Grundgerüst sind die einzigen Dinge, über die jeder spricht.

Ich habe sofort darüber nachgedacht, wie ich Apps auf Simform erstellen kann, um einige sehr gute Praktiken zu erkunden, diese Praktiken zu befolgen, Benchmarks festzulegen und bestehende Anwendungen zu durchbrechen, die Milliarden von Dollar erreichen können.

Die folgenden Faktoren haben großen Einfluss auf die Qualität mobiler Anwendungen:

  • App-Größe

  • App-Leistung

  • Plattformspezifische Richtlinien

  • Architektonisches Design

Jetzt sehen wir uns an, wie Sie sie auf einfache Weise mit leicht umzusetzenden Schritten optimieren können, um mobile Apps schneller zu machen.

Anwendungsgröße minimieren

Mobiltelefone verfügen nicht über leistungsstarke GPUs, jedoch nehmen Low-End-Telefone den Großteil des Android-Marktanteils ein. Sie unterstützen nicht einmal 2G oder 3G und das Herunterladen einer großen Anwendung, die Sie sofort benötigen, wäre für Benutzer ein Albtraum. Bei einem solchen Low-End-Telefon gilt: Je weniger Platz eine App einnimmt, desto besser.
Detailliertes Verständnis zur Verbesserung der APP-Leistung – Zusammenfassung

Optimieren Sie das Netzwerk

Text zuerst, dann Bild

Optimieren Sie das Netzwerk, versuchen Sie zuerst, Textdaten zu laden. Bildbasierte Inhaltsanzeigen innerhalb der Anwendung können dann asynchron geladen werden.

Vermeiden Sie doppelte Netzwerkanfragen

Die bekannten Volley-Apps auf Android wissen mehr über diese Anfrage. Wenn die Leistung der Anwendung schlecht ist, kann die Android-Anwendung Volley verwenden, um zwei Anforderungen gleichzeitig an den Server zu senden. Sie können eine Anforderung löschen und die Anforderung wird gelöscht, die Anwendung antwortet jedoch, dass keine solche Anforderung vorliegt. Doppelte Anfragen stellen nicht nur ein Funktionsproblem dar, sondern erhöhen auch die Systemüberlastung und beeinträchtigen die Anwendungsleistung, insbesondere wenn es Millionen von Anwendungsbenutzern gibt. Stellen Sie sich vor, wenn sich die Anzahl der Anfragen verdoppelt, verdoppelt sich auch die Anzahl der Server. Wenn Sie dann die Kosten senken möchten, werden Sie sehr verzweifelt sein.

Verstehen und Anpassungen basierend auf der Verbindungsqualität vornehmen

Angenommen, eine Anwendung muss anhand der Netzwerkbedingungen entscheiden, ob sie verfügbar ist. Anwendungen können die Qualität der bereitgestellten Inhalte basierend auf den Netzwerkbedingungen, in denen sich der Benutzer gerade befindet, ändern und so sicherstellen, dass die Anwendungsnutzung nicht ausfällt.

Effektives API-Design

Die Art und Weise, wie eine API entworfen wird, hat einen großen Einfluss auf die Anwendungsleistung. Ein unvollständiges oder verzögertes API-Design erhöht die Belastung der Anwendung. Problemumgehungen auf der API belasten die Einschränkungen des Netzwerks oft zu sehr.

Entwerfen Sie die API-Last der mobilen Anwendung, um sicherzustellen, dass die Anwendung die folgenden Eigenschaften aufweist:

  • Konsistenz: Entwickler sollten die Erwartungen kennen und es gibt keinen Spielraum, wenn es um die Gestaltung der API-Konsistenz geht.

  • Vollständigkeit: Verfügt über eine vereinfachte Problemumgehung.

Detailliertes Verständnis zur Verbesserung der APP-Leistung – Zusammenfassung

Eine großartige Möglichkeit, eine API-Nutzlast mit Konsistenz und Vollständigkeit zu entwerfen, angefangen bei der Benutzeroberfläche bis hin zu den Daten, und dadurch die Anwendungsleistung zu verbessern . Senden Sie nicht alle Anfragen von Ihrem Telefon an die API, sondern nur die, die tatsächlich benötigt werden.

Bilder in Ihrer App optimieren

Um Bilder in Ihrer App zu optimieren, können Sie:

  • Vektorbilder verwenden

  • Stellen Sie Bilder mit dynamischer Größe bereit

  • Verwenden Sie Farbfilter, anstatt verschiedene Farbbildsätze zu verwenden

  • Bild verwenden Cache

  • Verwenden Sie Bibliotheken wie Picasso und Fresco

Cache-Daten für die Offline-Optimierung

Wenn das Netzwerk schlecht ist, werden beim Abrufen von Daten alle von Ihnen erhaltenen Daten angezeigt. Dies führt zu:

  • Reduzierung der Serverlast

  • Reduzierung der Anzahl der Mobilfunknutzungen und Reduzierung des Stromverbrauchs mobiler Apps

Wenn Ihnen kein Testteam zur Verfügung steht, können Sie versuchen, Ihr Telefon in den Flugmodus zu schalten, um die Offline-Leistung Ihrer App zu testen.

Stellen Sie sicher, dass die App zur Größe des Bildschirms Ihres Telefons passt

Es gibt viele Diskussionen über die Bildschirmgröße, und Android hat deshalb einige große Augenbrauen hochgezogen Tatsächlich gibt es Tausende von Geräten, jedes mit seiner eigenen Auflösung und Bildschirmgröße.

Als beste Strategie:

  • Bauen für kleine und mittlere Bildschirme

  • MDPI und HDPI optimieren

  • Adaptiven UI-Flow implementieren

Detailliertes Verständnis zur Verbesserung der APP-Leistung – Zusammenfassung

Sie haben nicht Hunderte von Geräten, die Auflösung und Bildschirmgröße testen? Testen Sie mit der Emulatorkonfiguration.

Speichernutzung in Android

Um Mobiltelefonbenutzern die Möglichkeit zum Multitasking zu bieten, legt Android Grenzwerte für die Speichernutzung jeder Anwendung fest. Diese Grenzwerte gelten nicht statisch, ändert sich mit der Zunahme oder Abnahme von Mobiltelefonanwendungen.

Berücksichtigen Sie während des gesamten Anwendungsentwicklungsprozesses RAM-Einschränkungen sowie die Tatsache, dass im Hintergrund ausgeführte Anwendungen unnötige Ressourcen beanspruchen.

Sie können die Anwendung jedoch auf folgende Weise optimieren:

  • Begrenzen Sie die Gültigkeitsdauer des Dienstes und erwägen Sie die Verwendung eines Intent-Dienstes, um die Lebensdauer des Dienstes zu begrenzen

  • Wenn der Benutzer zu einer anderen Schnittstelle wechselt, geben Sie UI-Ressourcen frei

  • Verwenden Sie eine speichereffiziente Codestruktur

  • Nutzung externer Bibliotheken minimieren

Wie schnell startet die App?

Durchschnittliche Top-25-Apps im PlayStore mit Startzeiten zwischen 800 ms und 4,5 s. Nun ist 4,5S für die meisten Anwendungsfälle zu viel.

Die Quintessenz ist, dass die App schnell gestartet werden muss!

Um die Startzeit Ihrer iOS-Anwendung zu optimieren, sollten Sie Folgendes berücksichtigen:

  • Eine kleine Menge Dylib einbetten

  • Objective-C-Klassen zusammenführen

  • Statische Initialisierungssoftware eliminieren

  • Mehr Swift verwenden, empfiehlt Apple

  • Ergebnisse mit DYLD_PRINT_STATISTICS messen

  • Verwendung von dlopen() vermeiden

In Android Folgendes Situationen wirken sich normalerweise auf die Startzeit der Anwendung aus:

  • Multi-View-Instanziierung

  • Inhalte mit hohem Ressourcenverbrauch wie das Dekodieren von Bitmaps

  • Layout ausführen

Beschleunigen Sie den Start von Apps in Android:

  • Zeigen Sie beim ersten Start in der Benutzeroberfläche nicht Dinge an, die Sie nicht benötigen Verwenden Sie zum Teil hierarchische Platzhalter, die in Zukunft nach Belieben angezeigt werden können

  • Vermeiden Sie Verwirrung durch Speicherzuordnung und führen Sie so viel Garbage Collection wie möglich durch

  • Verwenden Sie Tools wie Apteligent, um die Startzeit von Anwendungen zu überwachen und zu optimieren

  • Vermeiden Sie Initialisierungscode in Anwendungsobjekten

  • Notiz Live, ein kürzlich veröffentlichter Artikel Bei einer gestarteten App verhält sich diese zuerst gestartete App anders.

Geräteaufweckvorgänge reduzieren

Häufiges Aufwecken des Telefons verringert die Systemleistung erheblich. Dies verbraucht Systemressourcen. Sie können die Wake-Intents begrenzen, auf die Ihre Anwendung reagiert.

Erwägen Sie preisgünstige Android-Telefone

Nicht alle Android-Benutzer verfügen über die neuesten Telefone mit 2G+-Speicher. Wenn wir uns die verfügbaren Android-Geräte ansehen, sehen wir eine große Aufschlüsselung der Gerätefunktionen.

Wenn die meisten Entwickler Anwendungen entwickeln und hinsichtlich der Leistung optimieren, machen sie einen großen Fehler. Sie optimieren ihre Apps für die falschen Geräte, oft mit High-End-Geräten, die zum Testen zur Verfügung stehen.

Eine gute Faustregel ist, dass zur Optimierung der App-Leistung verschiedene Geräte verwendet werden sollten. Auf diese Weise können Entwickler Gegentests durchführen.

  • Verschiedene Geschwindigkeiten

  • Schnittstelle und Auflösung

  • Geringer Speicher

Flüssige Bildrate

Auf iOS und Android beträgt die maximale Bildrate für die Anzeige von Animationen und Gesten 60 fps.

Wenn die Bildrate niedriger als 60 fps ist, haben Benutzer normalerweise das Gefühl, festzustecken.

Um eine Bildrate von 16 ms (entspricht 60 fps) zu erreichen, muss der für die Anzeige in der Anwendung verwendete Code innerhalb von 16 ms ausgeführt werden. Hier werden Sie in Android bemerken, wie teuer 5 ms Garbage-Collection-Zeit sind.

Lassen Sie uns bewerten, welche Auswirkungen dies auf die Endbenutzer haben wird. Wenn Sie die 16-ms-Grenze verfehlen, erhalten Sie häufig eine etwas niedrigere Bildrate von ~59 fps. Keine große Sache, oder?

Falsch!

Wenn die Anwendung die 16-ms-Grenze einmal überschreitet, kann sie das Fenster nicht für denselben Frame verwenden und muss auf den nächsten Frame warten.

Obwohl die Anzeige der Anwendung nur 19 ms dauerte, verpasste sie das Anzeigefenster und wurde dem Benutzer doppelt so lange angezeigt. Wissen Sie, auf diese Weise werden Benutzer denken, dass die Anwendung superschlecht ist.

Benutzerdaten auf neuen Geräten wiederherstellen

Benutzer verbringen oft viel Zeit damit, Apps auf ihren Telefonen einzurichten, damit sie so funktionieren, wie sie es möchten. Bei der Neuinstallation einer Anwendung gehen die meisten Benutzer davon aus, dass ihre ursprünglichen Einstellungen weiterhin verfügbar bleiben.

Das Speichern von Konfigurationsdaten trägt zur Verbesserung der Anwendungsqualität bei:

  • Jede vom Benutzer geänderte Konfiguration

  • Push-Einstellungen-Benachrichtigung

  • Ob der Benutzer sie auf einem angesehen hat Neuer Bildschirm Gehen Sie zum Begrüßungsbildschirm und zur Einführung

Potenziellen Verbrauch entdecken

Es ist wichtig, potenzielle Probleme aus Ihrer Anwendung zu entfernen. Potenzielle Probleme können zu Anwendungsfehlern führen und häufig die gesamte Anwendung zum Scheitern bringen. Statistiken zeigen, dass mehr als 50 % der Benutzer die Anwendung innerhalb von 24 Stunden deinstallieren, wenn eine Anwendung langsam läuft.

Potenzielle damit verbundene Probleme effektiv bewältigen:

Wenn der Netzwerkzustand nicht gut ist, können Sie die Quelle potenzieller Problemfaktoren von Dritten begrenzen

Reduzieren Sie die Anzahl potenzieller Probleme Probleme, die auf Mobiltelefonen auftreten können. Bedarf an potenziell verbrauchenden APIs

Optimierung von iOS-Apps für Multitasking

Angenommen, es gibt einen Benutzer, der Ihre Anwendung verwendet. Die Anwendung wird mit 60 Bildern pro Sekunde gut angezeigt und die gesamte Arbeit wird in 9 ms abgeschlossen. Wie in der folgenden Abbildung dargestellt:
Detailliertes Verständnis zur Verbesserung der APP-Leistung – Zusammenfassung

Wenn der Benutzer nun die zweite Anwendung auf dem Telefon öffnet, dauert es ebenfalls etwa 7 ms, um die gesamte Arbeit abzuschließen. Es sieht jetzt wie auf dem folgenden Bild aus:
Detailliertes Verständnis zur Verbesserung der APP-Leistung – Zusammenfassung

Sie sehen, dass die beiden Anwendungen zusammen 16 ms benötigten, um mit einer Bildrate von 60 fps anzuzeigen.

Angenommen, der Benutzer öffnet eine andere Anwendung mit einer Bildrate von 60 fps und die Arbeit ist in 10 ms abgeschlossen. Die aktuelle Zeit beträgt 9+7+10=26ms, was bedeutet, dass die Demo-Framerate der Anwendung 40fps statt 60fps beträgt.

Detailliertes Verständnis zur Verbesserung der APP-Leistung – Zusammenfassung
Benutzer der App begannen, Verzögerungen im Programm zu bemerken, und fast dasselbe passierte mit der GPU und dem Speicher.

Erinnern Sie sich, als Apps ständig abstürzten?

Okay, schauen wir uns das Szenario einer Anwendung an, die auf dem Gerät ausgeführt wird.

Wenn wir nun eine weitere Anwendung in die Szene einführen, geht es uns immer noch gut und wir haben noch etwas Speicher übrig.

Wenn wir eine andere Anwendung in die Szene einführen, kann das System keinen Speicher zuweisen. Das System bricht einen Prozess ab, um Ressourcen freizugeben.

Aus diesem Grund ist die App-Entwicklung so herausfordernd (für diejenigen, denen sie wirklich am Herzen liegt)

Um diese Herausforderungen zu lösen, ist ein wenig Verständnis des iOS-Ökosystems erforderlich. Sehen wir uns an, wie Sie Ihre Anwendung für Multitasking optimieren können:

  • Sie können Tools verwenden, um Fehler zu identifizieren und zu beheben

  • Priorisieren Sie Ihre Arbeitsebene Blockieren Sie nicht den Hauptthread

  • Identifikations- und Verwaltungstools

  • Cache verwenden und auf Speicherwarnungen reagieren

  • Verwenden Sie das virtuelle Speichersystem, um das Speicherrecycling zu erhöhen

  • Machen Sie Kompromisse

Wenn jemand 50 % davon befolgen kann, wird er es tun Finden Sie heraus, dass die Anwendungsleistung erheblich verbessert wurde.

Das obige ist der detaillierte Inhalt vonDetailliertes Verständnis zur Verbesserung der APP-Leistung – Zusammenfassung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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