Turo a réduit le temps de démarrage de son application de 77 % grâce aux outils et aux meilleures pratiques des développeurs Android

May 13 2023
Turo est le plus grand marché d'autopartage au monde où les clients peuvent réserver la voiture de leur choix, et où ils le souhaitent, auprès d'une communauté dynamique d'hôtes de confiance. Les développeurs de Turo ont récemment investi massivement dans l'amélioration des performances de démarrage de son application Android.

Turo est le plus grand marché d'autopartage au monde où les clients peuvent réserver la voiture de leur choix, et où ils le souhaitent, auprès d'une communauté dynamique d'hôtes de confiance.

Les développeurs de Turo ont récemment investi massivement dans l'amélioration des performances de démarrage de son application Android. Le temps de démarrage est la première impression que les utilisateurs ont d'une application, et des temps de chargement plus lents peuvent avoir un impact négatif sur la rétention et l'engagement des utilisateurs. L'équipe souhaitait offrir aux utilisateurs une expérience plus rapide et plus simple à chaque fois qu'ils lançaient l'application. Et en utilisant les meilleurs outils, ressources et pratiques d'Android, ils ont pu réduire de 77 % le temps de démarrage de l'application.

Préparer le terrain avec la bibliothèque App Startup

L'initialisation de l'application inclut l'intégralité du processus de démarrage d'une application et tout le code qu'elle exécute avant de rendre sa première image d'interface utilisateur. Pour Turo, cela signifiait que les utilisateurs devaient attendre que l'application exécute son démarrage initial, des requêtes réseau synchrones et une animation de démarrage personnalisée, le tout avant de voir l'écran d'accueil de l'application.

Les développeurs de Turo savaient que pour améliorer les temps de chargement de l'application, ils devaient condenser et supprimer bon nombre de ces événements de démarrage encombrants. Pour aider à réduire ces événements, les ingénieurs de Turo ont utilisé la bibliothèque App Startup d'Android .

La bibliothèque App Startup a donné aux développeurs de Turo un moyen simple et rationalisé d'initialiser plusieurs composants lors du lancement de l'application. Cela leur a également permis de sélectionner les composants à initialiser et dans quel ordre, ce qui leur a permis d'améliorer considérablement les temps de chargement. La mise en place de la bibliothèque App Startup a jeté les bases du reste de l'optimisation de démarrage de Turo.

Différer les requêtes réseau et couper l'écran de démarrage

Avant l'optimisation, l'application effectuait plusieurs requêtes réseau de manière séquentielle, puis affichait une animation de démarrage personnalisée d'une seconde avant que les utilisateurs ne puissent accéder à l'écran d'accueil de l'application. Cela entraînait un processus de démarrage lent, en particulier si un utilisateur avait une mauvaise connectivité réseau.

La suppression de l'animation de démarrage était un moyen facile pour les développeurs de Turo d'améliorer le temps de chargement perçu. Et en rendant les requêtes réseau parallèles et asynchrones, les utilisateurs pouvaient accéder à l'écran d'accueil beaucoup plus rapidement. "Au départ, nous avons utilisé une SplashActivity dédiée pour exécuter tout le travail de démarrage avant d'acheminer l'application vers la HomeActivity. Cependant, les dernières directives déconseillent cette approche. Par conséquent, nous avons éliminé la SplashActivity redondante et transféré toute la logique de démarrage à notre activité racine en tirant parti de l'API Splash Screen », a déclaré Pavlo Stavytskyi, ingénieur logiciel senior chez Turo.

Dans le même temps, l'application effectuait également un certain nombre d'autres demandes de réseau de démarrage pour adapter l'expérience aux utilisateurs individuels, ce qui entraînait des expériences utilisateur incohérentes. "Si l'application est utilisée par un invité, certaines demandes de réseau aident à décider quel écran doit être affiché après l'écran de démarrage », a déclaré Pavlo. « Par défaut, c'est l'écran d'accueil. Cependant, il existe des cas particuliers où l'utilisateur peut être redirigé soit directement vers une réservation de véhicule active, soit vers un écran de commentaires.

L'équipe ne voulait pas ralentir le démarrage de chaque application en vérifiant ces scénarios de niche. Au lieu de cela, Turo ouvre désormais toujours l'écran d'accueil par défaut tout en effectuant des requêtes réseau de manière asynchrone. Si une redirection est requise, l'écran approprié s'affiche en haut de l'écran d'accueil.

Application de profils de ligne de base

L'équipe de Turo a également appliqué des profils de base pour améliorer les performances de l'application. Les profils de base aident à pré-compiler les chemins de code de démarrage à l'avance, augmentant le temps de démarrage de l'application Turo de 15 % supplémentaires selon les tests Macrobenchmark. "Après avoir supprimé toutes les demandes de réseau synchrones, notre durée de démarrage est devenue plus déterministe et il était plus logique d'appliquer des profils de base", a déclaré Pavlo.

Les améliorations des performances peuvent entraîner une meilleure rétention des utilisateurs, une augmentation des transactions et de meilleures notes. Les profils de base sont un moyen rapide et fiable de déplacer l'aiguille d'une grande quantité.

Priorité aux performances de démarrage

De nombreux facteurs peuvent avoir un impact sur le temps de démarrage d'une application. Il appartient aux développeurs d'identifier où, quand et comment ils peuvent améliorer leur application pour s'assurer qu'elle est optimisée pour la meilleure expérience utilisateur.

"Il est important de commencer l'amélioration avec des tâches qui nécessitent le moins d'effort et produisent les meilleurs résultats", a déclaré Pavlo. "Dans de nombreux cas, l'ingénierie est confrontée à un conflit entre l'allocation du temps et des ressources, soit sur le travail produit, soit sur l'optimisation des performances. Cependant, traiter les performances comme une fonctionnalité de produit autonome est inévitable pour son succès. »

Optimisez votre application aujourd'hui

Améliorez le temps de démarrage de votre application grâce aux meilleures pratiques d'Android pour l'optimisation des applications , le démarrage des applications Android et les profils de base .

Vous pouvez également lire l'histoire complète de la façon dont Turo a amélioré l'efficacité de démarrage de son application à l'aide des outils de développement et des meilleures pratiques d'Android.