Turo reduzierte die Startzeit seiner App mithilfe von Android-Entwicklertools und Best Practices um 77 %

May 13 2023
Turo ist der weltweit größte Carsharing-Marktplatz, auf dem Gäste jedes gewünschte Auto buchen können, und zwar überall und bei einer lebendigen Community vertrauenswürdiger Gastgeber. Die Entwickler von Turo haben kürzlich stark in die Verbesserung der Startleistung seiner Android-Anwendung investiert.

Turo ist der weltweit größte Carsharing-Marktplatz, auf dem Gäste jedes gewünschte Auto buchen können, und zwar überall und bei einer lebendigen Community vertrauenswürdiger Gastgeber.

Die Entwickler von Turo haben kürzlich stark in die Verbesserung der Startleistung seiner Android-Anwendung investiert. Die Startzeit ist der erste Eindruck, den Benutzer von einer App haben, und langsamere Ladezeiten können sich negativ auf die Bindung und das Engagement der Benutzer auswirken. Das Team wollte den Benutzern bei jedem Start der App ein schnelleres und optimierteres Erlebnis bieten. Und mithilfe der besten Tools, Ressourcen und Vorgehensweisen von Android konnten sie die Startzeit der App um 77 % verkürzen.

Bereiten Sie die Bühne mit der App Startup-Bibliothek

Die App-Initialisierung umfasst den gesamten Startvorgang einer Anwendung und den gesamten Code, den sie ausführt, bevor sie ihren ersten UI-Frame rendert. Für Turo bedeutete dies, dass Benutzer auf den ersten Start der App, synchrone Netzwerkanfragen und eine benutzerdefinierte Splash-Animation warten mussten – und das alles, bevor ihnen überhaupt der Startbildschirm der App angezeigt wurde.

Die Entwickler von Turo wussten, dass sie viele dieser umständlichen Startereignisse komprimieren und entfernen mussten, um die Ladezeiten der Anwendung zu verbessern. Um diese Ereignisse einzudämmen, nutzten die Turo-Ingenieure die App-Startup-Bibliothek von Android .

Die App Startup-Bibliothek bot den Entwicklern von Turo eine einfache, optimierte Möglichkeit, mehrere Komponenten während des Anwendungsstarts zu initialisieren. Außerdem konnten sie auswählen, welche Komponenten in welcher Reihenfolge initialisiert werden sollen, wodurch die Ladezeiten deutlich verkürzt werden konnten. Die Einrichtung der App-Startup-Bibliothek bildet die Grundlage für die weitere Startup-Optimierung von Turo.

Netzwerkanfragen zurückstellen und Begrüßungsbildschirm ausschneiden

Vor der Optimierung führte die App nacheinander mehrere Netzwerkanfragen aus und zeigte dann eine benutzerdefinierte, einsekündige Splash-Animation an , bevor Benutzer auf den Startbildschirm der App zugreifen konnten. Dies führte zu einem langsamen Startvorgang, insbesondere wenn ein Benutzer über eine schlechte Netzwerkverbindung verfügte.

Das Entfernen der Splash-Animation war für Turo-Entwickler eine einfache Möglichkeit, die wahrgenommene Ladezeit zu verbessern. Und indem Netzwerkanfragen parallel und asynchron erfolgen, könnten Benutzer viel schneller auf den Startbildschirm zugreifen. „Anfangs haben wir eine dedizierte SplashActivity verwendet, um alle Startarbeiten auszuführen, bevor wir die App an HomeActivity weitergeleitet haben. Allerdings raten die neuesten Leitlinien von diesem Vorgehen ab. Deshalb haben wir die redundante SplashActivity eliminiert und die gesamte Startlogik auf unsere Root-Aktivität übertragen, indem wir die Splash Screen API genutzt haben“, sagte Pavlo Stavytskyi, ein leitender Softwareentwickler bei Turo.

Gleichzeitig führte die App auch eine Reihe anderer Startnetzwerkanfragen durch, um das Erlebnis auf einzelne Benutzer anzupassen, was zu inkonsistenten Benutzererlebnissen führte. „Wenn die App von einem Gast verwendet wird, helfen einige Netzwerkanfragen bei der Entscheidung, welcher Bildschirm angezeigt werden soll wird nach dem Begrüßungsbildschirm angezeigt“, sagte Pavlo. „Standardmäßig ist es der Startbildschirm. Es gibt jedoch Sonderfälle, in denen der Benutzer entweder direkt zu einer aktiven Fahrzeugreservierung oder zu einem Feedback-Bildschirm weitergeleitet werden könnte.“

Das Team wollte nicht jeden App-Start verlangsamen, indem es nach diesen Nischenszenarien suchte. Stattdessen öffnet Turo jetzt standardmäßig immer den Startbildschirm, während Netzwerkanfragen asynchron gestellt werden. Wenn eine Weiterleitung erforderlich ist, wird der entsprechende Bildschirm oben auf dem Startbildschirm angezeigt.

Anwenden von Basisprofilen

Das Turo-Team wandte außerdem Baseline-Profile an , um die Leistung der Anwendung zu verbessern. Baseline-Profile helfen bei der Vorkompilierung von Startcodepfaden im Voraus und verkürzen laut Macrobenchmark-Tests die Startzeit der App von Turo um weitere 15 %. „Nachdem wir alle synchronen Netzwerkanforderungen entfernt hatten, wurde unsere Startdauer deterministischer und es machte mehr Sinn, Baseline-Profile anzuwenden“, sagte Pavlo.

Leistungsverbesserungen können zu einer verbesserten Benutzerbindung, mehr Transaktionen und besseren Bewertungen führen. Basislinienprofile sind eine schnelle und zuverlässige Möglichkeit, die Nadel um einen großen Betrag zu bewegen.

Priorisierung der Startleistung

Es gibt viele Faktoren, die sich auf die Startzeit einer App auswirken können. Es liegt an den Entwicklern, herauszufinden, wo, wann und wie sie ihre App verbessern können, um sicherzustellen, dass sie für das beste Benutzererlebnis optimiert ist.

„Es ist wichtig, die Verbesserung mit Aufgaben zu beginnen, die den geringsten Aufwand erfordern und die besten Ergebnisse liefern“, sagte Pavlo. „In vielen Fällen steht die Technik vor einem Konflikt zwischen der Zuweisung von Zeit und Ressourcen entweder für die Produktarbeit oder für die Leistungsoptimierung. Für den Erfolg ist es jedoch unumgänglich, die Leistung als eigenständiges Produktmerkmal zu betrachten.“

Optimieren Sie Ihre App noch heute

Verbessern Sie die Startzeit Ihrer App mit den Best Practices von Android für die App-Optimierung , dem App-Start von Android und Baseline-Profilen .

Sie können auch die vollständige Geschichte darüber lesen, wie Turo die Starteffizienz seiner App mithilfe der Entwicklertools und Best Practices von Android verbessert hat.