Si récemment je vous ai parlé d’une mise à jour du SDK Android permettant le support x86 afin de fonctionner à une vitesse « quasi-native », aujourd’hui je voudrais à nouveau vous faire part d’une amélioration sur ce dernier.
Nous, développeurs d’applications Android, nous nous plaignons souvent de l’émulateur qui est inclus dans le SDK de la plateforme, comme étant de mauvaise performance. Les transitions animées et autres caractéristiques graphiques intensives de l’interface utilisateur Android introduites depuis les versions 3 et 4 n’ont fait qu’aggraver le problème.
Heureusement, vous allez de nouveau pouvoir vous réjouir et ainsi respirer un peu mieux, puisque les efforts de Google pour améliorer l’émulateur portent enfin leurs fruits. Comme nous pouvons le voir dans un article publié un peu plus tôt dans la semaine sur le blog officiel des développeurs Android, Android Developers, l’équipe met en évidence plusieurs changements majeurs qui feront que l’émulateur sera beaucoup plus agréable à utiliser.
Ainsi l’équipe nous annonce plusieurs importantes améliorations à l’émulateur, y compris une « mise à niveau spectaculaire des performances » et un « soutien d’une gamme plus large de fonctionnalités matérielles ».
La nouvelle image système fournie avec l’émulateur, version Android 4.0.3 r2, peut utiliser le GPU de l’ordinateur hôte, et ce afin d’effectuer un rendu accéléré par le biais du matériel. Comme vous pouvez le voir dans la vidéo de démonstration que Google a publié, cette « petite » attention permet de rendre les animations beaucoup plus fluides. L’expérience utilisateur dans l’émulateur est maintenant beaucoup plus proche de celle que l’on pourrait avoir sur un matériel avec Android en natif.
Note : Comme bonus supplémentaire, les applications OpenGL peuvent maintenant être utilisées au sein de l’émulateur
Outre ces améliorations de performance, l’équipe annonce qu’en plus du soutien de la caméra ajoutée l’an dernier, il est maintenant possible d’utiliser un dispositif connecté à Android à l’aide des capteurs, ainsi que le support du multi-touch en entrée. En effet, Google s’est rendu compte que les caractéristiques matérielles des appareils mobiles sont devenues une partie importante lors du développement d’une application sur une plateforme.
De plus, nous pourrions voir arriver sur l’émulateur de nouvelles fonctions matérielles, telles que le Bluetooth et le NFC.
Comme je l’avais déjà annoncé, une autre récente amélioration permet d’exécuter des images x86 en natif avec un accès au CPU de l’ordinateur hôte. Cela peut aider à améliorer la performance pour les applications gourmandes en processeur, évitant ainsi la surcharge d’avoir à interpréter les instructions ARM du CPU.
Avec la prise en charge en mode natif dans l’émulateur sur Windows et Mac OS X de la famille x86, qui regroupe les microprocesseurs compatibles avec le jeu d’instructions de l’Intel 8086, ainsi que le soutien de l’accélération matérielle, nous commençons à avoir un émulateur très réactif, qui vient ainsi répondre aux nombreuses plaintes de longue date sur les performances de celui-ci.
L’écosystème Android est très vaste, et les développeurs ont besoin d’un bon moyen de tester leurs applications sans avoir à posséder chacun des dispositifs, et un moyen simple et rapide de tester va être de disposer d’un émulateur Android !
Comme Google cherche à attirer plus de développeurs sur sa plateforme, ce genre d’améliorations ne passeront pas inaperçues pour les développeurs, et viendront les aider dans leurs tâches quotidiennes. Ce n’est donc pas anodin si les équipes de Google travaillent dur pour proposer un émulateur de qualité.
Vous allez pouvoir retrouver le SDK depuis ce lien si vous ne l’avez pas déjà, et télécharger la révision 18.
Oh, et noter que les changements sont en version bêta donc vous risquez de rencontrer quelques problèmes. Google note que tous les GPU n’ont pas été encore testés. Si vous rencontrez des problèmes, vous pouvez soumettre un rapport de bug via ce formulaire.
L’avez-vous testé ? Quel est votre ressenti sur ce dernier ? Les perfrmances sont-elles améliorées ?