Pourquoi Android sera toujours plus en retard qu'iOS

L'une des choses qui se démarque vraiment en utilisant un iPhone est à quel point lisse il se sent comparé à l'utilisation d'Android. Alors qu'Android est lent, avec un intervalle mesurable entre le moment où vous touchez l'écran et le moment où le OS répond, iOS semble presque anticiper ce que vous voulez faire avant que votre doigt ne touche le affichage.

Comment Apple a-t-il réussi cet incroyable exploit? Une meilleure question pourrait être: « Comment Google a-t-il réussi à bousiller autant le multitouch d'Android? » Selon Andrew Munn — un étudiant en génie logiciel et ancien stagiaire de Google — Android est tellement foiré que Google pourrait jamais être capable d'égaler les performances d'un iPhone ou d'un iPad. Aie!

Avant de commencer, voici un peu de contexte. Dans le passé, il a été dit que l'interface utilisateur d'Android était à la traîne par rapport à iOS, car les éléments de l'interface utilisateur n'étaient pas accélérés par le matériel jusqu'à Honeycomb. En d'autres termes, chaque fois que vous balayez l'écran d'un téléphone Android, le processeur doit redessiner chaque pixel, et ce n'est pas quelque chose pour lequel les processeurs sont très bons.

Cet argument a du sens, sauf s'il était vrai, Android aurait cessé de accuser un retard mesurable en termes de réactivité tactile par rapport à iOS lors de la sortie d'Android 3.0 Honeycomb. Sauf devinez quoi? Les appareils Android sont toujours à la traîne même après l'installation de Honeycomb.

La plupart des téléphones Android modernes ont des spécifications équivalentes ou même meilleures que celles de l'iPhone (par exemple, la plupart des téléphones Android sont livrés avec 1 Go de RAM, par rapport aux 512 Mo de l'iPhone 4S); le problème n'est pas matériel. Alors, quel est le problème ?

Voici pourquoi Android ne peut pas rendre son interface utilisateur tactile sans retard, selon Munn. Dans iOS, les processus de rendu de l'interface utilisateur se produisent avec des threads dédiés dans temps réel priorité, arrêtant d'autres processus et concentrant toute l'attention sur le rendu de l'interface utilisateur. En d'autres termes, chaque fois que vous touchez l'écran de votre iPhone avec votre doigt, le système d'exploitation devient littéralement fou: « Quelqu'un nous touche! Quelqu'un nous touche! Arrêtez tout ce que vous faites d'autre, quelqu'un nous touche !

Dans Android, cependant, les processus de rendu de l'interface utilisateur se produisent avec le thread principal avec Ordinaire priorité. En d'autres termes, il traite le rendu de l'interface utilisateur de la même manière que, par exemple, le téléchargement d'un podcast en arrière-plan, la vérification des SMS ou toute autre chose. Par conséquent, une interface utilisateur saccadée.

Voici Munn expliquant ce que tout cela signifie et pourquoi Google a été assez stupide pour concevoir Android de cette façon.

L'interface utilisateur Android ne sera jamais complètement fluide à cause des contraintes de conception dont j'ai parlé au début :

– Le rendu de l'interface utilisateur se produit sur le thread principal d'une application
– Le rendu de l'interface utilisateur a une priorité normale

Même avec un Galaxy Nexus, ou le quad-core EeePad Transformer Prime, il n'y a aucun moyen de garantir une fréquence d'images fluide si ces deux contraintes de conception restent vraies. Il est révélateur qu'il faut la puissance d'un Galaxy Nexus pour se rapprocher de la douceur d'un iPhone de trois ans. Alors pourquoi l'équipe Android a-t-elle conçu le cadre de rendu de cette manière ?

Le travail sur Android a commencé avant la sortie de l'iPhone, et à l'époque Android a été conçu pour être un concurrent du Blackberry. Le prototype original d'Android n'était pas un appareil à écran tactile. Les compromis de rendu d'Android sont logiques pour un clavier et un trackball. Lorsque l'iPhone est sorti, l'équipe Android s'est précipitée pour sortir un produit concurrent, mais il était malheureusement trop tard pour réécrire le framework d'interface utilisateur.

Alors pourquoi Google n'a-t-il pas simplement modifié le cadre de l'interface utilisateur? Eh bien, c'est une tâche ardue qui impliquerait tous app sur Android Market à réécrire pour prendre en charge le nouveau framework. C'est dans au moins un an et peut-être jamais arriver.

En d'autres termes, pour que Google puisse gérer pleinement les problèmes de décalage d'Android, il doit essentiellement appuyer sur le bouton de réinitialisation et détruire son écosystème d'applications. iOS, en revanche, a été conçu dès le départ pour prendre en charge les smartphones multitouch; l'enfer, Apple en était le visionnaire suprême. Il est important de bien faire les choses.

[passant par Tarte au Redmond]

Dernier article de blog

L'inventeur d'olloclip crée un autre clip, Anchor for AirPods
October 21, 2021

L'inventeur d'olloclip crée un clip intelligent pour transporter des AirPodL'Anchor avec son mousqueton en titane à côté d'une jolie Apple Watch en...

Ce sont les meilleures applications de mémos musicaux pour iPhone
October 21, 2021

Si vous aimez faire semblant d'être dans un film de détective privé, vous enregistrer avec des mémos vocaux au cours de vos activités quotidiennes,...

Tout ce que nous n'avons pas eu lors de l'événement "Hi, Speed" d'Apple
October 21, 2021

Cela se produit avant chaque événement Apple. Le moulin à rumeurs, les blogs technologiques (Bonjour), et les nerds obsédés par l'iPhone épinglent ...