¿Por qué Android es más lento que Apple?
La razón por la que Android no es tan fluido como iOS no es porque Java GC provoque pausas, ni porque Android ejecute código de bytes compilado por Java y iOS ejecute código nativo. La razón fundamental es que la representación de la interfaz de usuario de iOS adopta prioridad en tiempo real, mientras que la representación de la interfaz de usuario de Android sigue la prioridad general del hilo principal en el modo de computadora tradicional.
Esto suena abstracto y difícil de entender, pero puedes intentarlo. Usando su iPad o iPhone, abra Safari y cargue una página web compleja, como la página de inicio de Sina. Cuando la página web esté a medio cargar, coloque el dedo en la pantalla y muévalo. Notarás que toda la renderización se detiene inmediatamente y la página nunca continúa cargándose hasta que retiras el dedo.
Repita esta operación en un dispositivo Android y verá que el navegador continuará intentando cargar la página y representar HTML, intentando realizar múltiples tareas al mismo tiempo. Por lo tanto, un procesador de doble núcleo eficiente es muy importante para Android, razón por la cual el Galaxy S II puede ser muy fluido.
En iOS, el proceso de renderizado de la interfaz de usuario tiene prioridad absoluta. Cuando un usuario toca la pantalla táctil del iPhone, todos los procesos en iOS se detendrán, el hilo de la interfaz de usuario interceptará todos los eventos y el sistema utilizará todos los recursos para representar el proceso de la interfaz de usuario para garantizar la prioridad de representación en tiempo real de la interfaz de usuario. Pero la prioridad del proceso de representación de la interfaz de usuario en el sistema Android no es tan alta. En otras palabras, cuando tocas la pantalla de tu teléfono Android, los programas en segundo plano del sistema todavía se están ejecutando, como descargar y ver mensajes de texto, por lo que la interfaz de usuario del sistema no recibe suficientes recursos. Esta es la razón por la cual el sistema Android. no es suave.
Debido a esto, el recién lanzado Galaxy Nexus, incluso una tableta con un procesador de cuatro núcleos, no puede garantizar una experiencia operativa fluida. Estos dispositivos sólo pueden igualar la fluidez de los iPhone de hace tres años, entonces, ¿por qué el equipo de Android no resuelve fundamentalmente este problema?
Además de la representación de la interfaz de usuario, la falta de aceleración de hardware efectiva de Android también es una razón. La aceleración de hardware en diferentes teléfonos Android varía mucho y Apple es la única empresa de dispositivos portátiles que ofrece tanto hardware como software. Sólo Apple puede insertar optimizaciones de software en el hardware para que los dispositivos basados en chips de Apple no sólo ahorren energía, sino que también funcionen sin problemas.
De hecho, el desarrollo de Android comenzó antes del lanzamiento del iPhone de primera generación. El prototipo original de Android fue diseñado como un dispositivo que utilizaba un teléfono con teclado, un competidor de BlackBerry. La prioridad de representación de la interfaz de usuario no es tan importante en teléfonos con teclados. Sin embargo, después del lanzamiento del iPhone, el equipo de Android lanzó rápidamente productos que podían competir con el iPhone. Rápidamente cambiamos Android a un sistema de teléfono móvil con pantalla táctil, pero era imposible reescribir el marco de la interfaz de usuario en ese momento, porque si todos los programas en el mercado de aplicaciones de Android dejaran de estar disponibles, esta relación continuaría en un círculo vicioso.