Profilage des applications Android
Avant de déployer votre application dans un magasin d’applications, il est important d’identifier et de résoudre les goulots d’étranglement de performances et les problèmes d’utilisation excessive de la mémoire ou d’utilisation inefficace des ressources réseau. Deux outils de profilage sont disponibles pour cela :
- Xamarin Profiler
- Android Profiler dans Android Studio
Ce guide présente Xamarin Profiler et fournit des informations détaillées pour bien démarrer avec Android Profiler.
Xamarin Profiler
Xamarin Profiler est une application autonome intégrée à Visual Studio et à Visual Studio pour Mac pour le profilage des applications Xamarin à partir de l’IDE. Pour plus d’informations sur l’utilisation de Xamarin Profiler, consultez Xamarin Profiler.
Remarque
Vous devez être un abonné Visual Studio Enterprise pour pouvoir déverrouiller la fonctionnalité Xamarin Profiler dans Visual Studio Enterprise sur Windows ou Visual Studio pour Mac.
Android Studio Profiler
Android Studio 3.0 et versions ultérieures incluent un outil nommé Android Profiler. Vous pouvez utiliser Android Profiler pour mesurer les performances d’une application Android Xamarin créée avec Visual Studio, sans avoir besoin d’une licence Visual Studio Enterprise. Toutefois, contrairement à Xamarin Profiler, Android Profiler n’est pas intégré à Visual Studio et peut être utilisé uniquement pour profiler un package d’application Android (APK) qui a été créé à l’avance et importé dans Android Profiler.
Lancement d’une application Xamarin Android dans Android Profiler
Les étapes suivantes expliquent comment lancer une application Xamarin Android dans l’outil Android Profiler d’Android Studio. Dans l’exemple de captures d’écran ci-dessous, un exemple d’application Xamarin Forms est généré et profilé à l’aide d’Android Profiler :
Dans les options de génération de projet Android, désactivez Utiliser le runtime partagé. Cela garantit que le package APK est généré sans dépendance envers le runtime Mono partagé au moment du développement.
Générez l’application pour Debug et déployez-la sur un appareil physique ou un émulateur. Cela provoque la génération d’une version Debug signée du package APK. Pour l’exemple XamagonXuzzle, le package APK résultant est appelé com.companyname.XamagonXuzzle-Signed.apk.
Ouvrez le dossier du projet et accédez à bin/Debug. Dans ce dossier, recherchez la version Signed.apk de l’application et copiez-la à un emplacement facilement accessible (par exemple le Bureau). Dans la capture d’écran suivante, le package APK com.companyname.XamagonXuzzle-Signed.apk est situé et copié sur le Bureau :
Lancez Android Studio et sélectionnez Profile or debug APK :
Dans la boîte de dialogue Select APK File, naviguez jusqu’au package APK que vous avez créé et copié précédemment. Sélectionnez le package APK et cliquez sur OK :
Android Studio charge le package APK et désassemble classes.dex :
Une fois le package APK chargé, Android Studio affiche l’écran de projet suivant. Cliquez avec le bouton droit sur le nom de l’application dans l’arborescence à gauche et sélectionnez Open Module Settings :
Accédez à Project Paramètres > Modules, sélectionnez le nœud -Signé de l’application, puis cliquez sur <Aucun Kit de développement logiciel (SDK>) :
Dans le menu déroulant Module SDK, sélectionnez le niveau de kit Android SDK qui a été utilisé pour générer l’application (dans cet exemple, le niveau d’API 26 a été utilisé pour générer XamagonXuzzle) :
Cliquez sur Apply et OK pour enregistrer ce paramètre.
Lancez le profileur à partir de l’icône de la barre d’outils :
Sélectionnez la cible de déploiement pour l’exécution/le profilage de l’application et cliquez sur OK. La cible de déploiement peut être un appareil physique ou un appareil virtuel en cours d’exécution dans un émulateur. Dans cet exemple, un appareil Nexus 5X est utilisé :
Quelques secondes après son démarrage, le profileur se connecte à l’appareil de déploiement et au processus d’application. Pendant l’installation du package APK, Android Profiler affichera les messages No connected devices et No debuggable processes.
Après quelques secondes, Android Profiler termine l’installation du package APK et le lance. Il signale le nom de l’appareil et le nom du processus d’application en cours de profilage (dans cet exemple, LGE Nexus 5X et com.companyname.XamagonXuzzle, respectivement) :
Une fois l’appareil et le processus pouvant être débogué identifiés, Android Profiler commence le profilage de l’application :
Si vous appuyez sur le bouton RANDOMIZE sur XamagonXuzzle (ce qui provoque le déplacement aléatoire des vignettes), vous observerez une augmentation de l’utilisation du processeur pendant l’intervalle de randomisation de l’application :
Utilisation d’Android Profiler
Des informations détaillées sur l’utilisation d’Android Profiler sont fournies dans la documentation d’Android Studio. Les rubriques suivantes pourront intéresser les développeurs Xamarin Android :
Processeur Profiler : explique comment inspecter l’utilisation du processeur et l’activité de thread de l’application en temps réel.
Profileur de mémoire : affiche un graphique en temps réel de l’utilisation de la mémoire de l’application et inclut un bouton pour enregistrer les allocations de mémoire à des fins d’analyse.
Network Profiler : affiche l’activité réseau en temps réel des données envoyées et reçues par l’application.