Android
Exécution instantanée dans Android Studio
Recherche…
Remarques
Instant Run est un comportement étendu pour les commandes d'exécution et de débogage qui permet un débogage plus rapide en ne nécessitant pas une génération complète et une réinstallation pour toute modification effectuée dans le code de votre application.
Introduit dans Android Studio 2.0, Instant Run est un comportement des commandes Run et Debug qui réduit considérablement le temps entre les mises à jour de votre application. Bien que votre première version puisse prendre plus de temps, Instant Run pousse les mises à jour ultérieures vers votre application sans créer de nouvel APK. Les modifications sont donc visibles beaucoup plus rapidement.
Instant Run est pris en charge uniquement lorsque vous déployez la variante de génération de débogage, utilisez le plug-in Android pour Gradle version 2.0.0 ou ultérieure et définissez minSdkVersion sur 15 ou plus dans le fichier build.gradle de niveau application de votre application. Pour des performances optimales, définissez minSdkVersion sur 21 ou plus.
Après avoir déployé une application, une petite icône représentant un coup de foudre jaune apparaît dans le bouton Exécuter (ou bouton Déboguer), indiquant qu'Instant Run est prêt à envoyer des mises à jour la prochaine fois que vous cliquerez sur le bouton. Au lieu de créer un nouvel APK, il ne fait que pousser ces nouveaux changements et, dans certains cas, l'application n'a même pas besoin de redémarrer, mais montre immédiatement l'effet de ces modifications de code.
Instant Run pousse le code et les ressources mis à jour vers votre périphérique connecté ou émulateur en effectuant un échange à chaud, un échange à chaud ou un échange à froid. Il détermine automatiquement le type de swap à effectuer en fonction du type de modification effectué. La vidéo ci-dessus fournit des détails intéressants sur la façon dont tout cela fonctionne sous le capot. Pour un résumé rapide de la manière dont Instant Run se comporte lorsque vous transmettez certaines modifications de code à un périphérique cible, consultez le tableau suivant.
Activation ou désactivation d'Instant Run
- Ouvrez la boîte de dialogue Configuration ou Préférences:
- Sous Windows ou Linux, sélectionnez
File
>Settings
dans le menu principal. - Sur Mac OSX, sélectionnez
Android Studio
>Preferences
dans le menu principal.
- Sous Windows ou Linux, sélectionnez
- Naviguez vers la
Build, Execution, Deployment
> leCompiler
. - Dans le champ de texte à côté des options de ligne de commande, entrez vos options de ligne de commande.
- Cliquez sur OK pour enregistrer et quitter.
La première option est l'exécution instantanée. Cochez / décochez cette case.
Types de swaps de code dans Instant Run
Il existe trois types de permutation de code qu'Instant run permet de prendre en charge un débogage et une exécution plus rapides de l'application à partir de votre code dans Android Studio.
- Échange à chaud
- Échange à chaud
- Échange de froid
Quand chacun de ces swaps est-il déclenché?
HOT SWAP est déclenché lorsque l'implémentation d'une méthode existante est modifiée.
WARM SWAP est déclenché lorsqu'une ressource existante est modifiée ou supprimée (n'importe quoi dans le dossier res)
COLD SWAP à chaque changement de code structurel dans le code de votre application, par exemple
- Ajouter, supprimer ou modifier:
- une annotation
- un champ d'instance
- un champ statique
- une signature de méthode statique
- une signature de méthode d'instance
- Modifier la classe parent dont la classe actuelle hérite
- Changer la liste des interfaces implémentées
- Changer l'initialiseur statique d'une classe
- Réorganiser les éléments de présentation qui utilisent des ID de ressource dynamique
Que se passe-t-il lorsqu'un échange de code se produit?
Les modifications HOT SWAP sont visibles instantanément - dès que le prochain appel à la méthode dont l’implémentation est modifiée est effectué.
WARM SWAP redémarre l'activité en cours
COLD SWAP redémarre l'application entière (sans réinstaller)
Modifications de code non prises en charge lors de l'utilisation d'Instant Run
Il y a quelques changements où l'instant ne fera pas l'affaire et une version complète et la réinstallation de votre application se produiront comme si cela se produisait avant la naissance d'Instant Run.
- Modifier le manifeste de l'application
- Modifier les ressources référencées par le manifeste de l'application
- Modifier un élément d'interface utilisateur de widget Android (nécessite un nettoyage et une réexécution)