Pourquoi Android sera toujours moins réactif que les autres
Par Didier Pulicani - Publié le
Un ancien stagiaire de chez Google, dans l'équipe Android (qui va d'ailleurs aller en stage chez Microsoft) a publié une note assez complète, détaillant pourquoi Android n'arrivera, selon lui, jamais à la réactivité d'iOS.
Si vous avez déjà eu un appareil de Samsung, HTC ou Ericsson -même dernier cri- entre les mains, et que vous êtes un habitué d'iOS, vous aurez toujours cette sensation désagréable que la réactivité n'est pas parfaite. Même dans
Sans trop rentrer dans les détails de programmeurs, Andrew précise que ni la JVM (et les fameux GC) ni le fait que le code ne soit pas natif (contrairement à iOS) n'a de réel impact. Le problème se situe au niveau du traitement de l'interface : là où Apple impose un traitement des données UI sur le
Notons enfin qu'Apple est aussi très douée pour penser ses interfaces en mimant plus efficacement les comportements réels. L'effet élastique, précise Andrew, est un bel exemple. On pourra également parler des écrans de démarrage des application, qui aident à faire accepter l'attente du chargement. Cette sensation de fluidité est donc une combinaisons, à la fois de prouesses techniques au niveau système, mais aussi sur la manière de penser les interfaces pour rendre acceptable les temps de traitement.
Si vous avez déjà eu un appareil de Samsung, HTC ou Ericsson -même dernier cri- entre les mains, et que vous êtes un habitué d'iOS, vous aurez toujours cette sensation désagréable que la réactivité n'est pas parfaite. Même dans
Maps, le zoom et le défilement de la fenêtre présentent souvent quelques saccades. De manière générale, on sent souvent de la latence dans l'interface, alors que sur un iPhone, les blocages sont plus rares. Pour Andrew Munn, Microsoft et RIM sont d'ailleurs du niveau d'Apple sur ce plan, et il en détaille les raisons techniques.
Sans trop rentrer dans les détails de programmeurs, Andrew précise que ni la JVM (et les fameux GC) ni le fait que le code ne soit pas natif (contrairement à iOS) n'a de réel impact. Le problème se situe au niveau du traitement de l'interface : là où Apple impose un traitement des données UI sur le
threadprincipal, avec des contraintes temps-réel sur les appels de l'interface, Android se contente d'un rendu type
PCavec une priorité normale. D'autres causes sont aussi imputables à ce manque de réactivité : une JVM moins optimisée que sur ordinateur, et quelques limitations idéologiques, notamment sur le nombre d'images/seconde à afficher, parfois limité par Google à 30, alors qu'il en faudrait deux fois plus (comme sous iOS) pour avoir la sensation de parfaite fluidité.
Notons enfin qu'Apple est aussi très douée pour penser ses interfaces en mimant plus efficacement les comportements réels. L'effet élastique, précise Andrew, est un bel exemple. On pourra également parler des écrans de démarrage des application, qui aident à faire accepter l'attente du chargement. Cette sensation de fluidité est donc une combinaisons, à la fois de prouesses techniques au niveau système, mais aussi sur la manière de penser les interfaces pour rendre acceptable les temps de traitement.