¿La experiencia de la interfaz de usuario de Android se sentirá inmediata y rápida?

EDITAR: Después de haber leído la respuesta de Dianne Hackborn (ingeniero sénior de Android) y Bob Lee (CTO de Square) a esta respuesta a continuación, estoy convencido de que la información a continuación es bastante equivocada y debe tomarse con un gran grano de sal.

Encontré la mejor respuesta a esta pregunta: https://plus.google.com/10083827…

Aquí hay parte de esto:
La causa principal

No son pausas de GC. No es porque Android ejecuta bytecode e iOS ejecuta código nativo. Es porque en iOS toda la representación de la interfaz de usuario se produce en un subproceso de interfaz de usuario dedicado con prioridad en tiempo real . Por otro lado, Android sigue el modelo tradicional de procesamiento de PC que ocurre en el hilo principal con prioridad normal.

Esta no es una diferencia abstracta o académica. Puedes verlo por ti mismo. Tome su iPad o iPhone más cercano y abra Safari. Comience a cargar una página web compleja como Facebook. A la mitad de la carga, coloque el dedo en la pantalla y muévalo. Todo el renderizado se detiene instantáneamente. El sitio web literalmente nunca se cargará hasta que retire su dedo. Esto se debe a que el subproceso de la interfaz de usuario está interceptando todos los eventos y representando la interfaz de usuario en prioridad en tiempo real.

Si repite este ejercicio en Android, notará que el navegador intentará animar la página y renderizar el HTML, y hará un trabajo ‘correcto’ en ambos. En Android, este es un caso en el que un eficiente procesador de doble núcleo realmente ayuda, por eso el Galaxy S II es famoso por su suavidad.

En iOS, cuando se instala una aplicación desde la tienda de aplicaciones y coloca el dedo en la pantalla, la instalación se detiene instantáneamente hasta que finaliza todo el procesamiento. Android intenta hacer ambas cosas con la misma prioridad, por lo que la velocidad de fotogramas sufre. Una vez que notes que esto sucede, lo verás en todas partes en un teléfono Android. ¿Por qué el desplazamiento en la aplicación Películas es lento? Debido a que las miniaturas de portadas de películas se agregan dinámicamente a la lista de películas a medida que se desplaza hacia abajo, mientras que en iOS se agregan perezosamente después de que se detiene todo el desplazamiento.

Android casi siempre es rápido, ágil e inmediato cuando recibe el teléfono por primera vez. Hay muchas revisiones cuando se lanza un nuevo teléfono donde el revisor dice “Android se siente realmente ágil” o “Las aplicaciones se cargan al instante”. Desde mi experiencia, Android no comienza a tartamudear o retrasarse hasta que tiene varias aplicaciones nuevas instaladas, agrega muchos widgets a su pantalla de inicio o una aplicación incorrecta está causando problemas en segundo plano.

Entonces, para responder a su pregunta, la tartamudez, la lentitud y la lentitud general provienen principalmente de la multitarea en Android. Es similar a una computadora normal con Windows. A medida que abre más aplicaciones y utiliza software más pesado, su computadora comienza a ralentizarse.

Ahora, creo que Android está realmente retenido por su uso de Java en términos de capacidad de respuesta y tal, pero la aceleración de hardware de Android 3/4 debería recorrer un largo camino para resolver eso. El hardware también hace una gran diferencia, pero una CPU moderna de doble núcleo a 1,5 GHz con 1 GB de RAM y una GPU de gama alta (móvil) no debería experimentar estos problemas durante mucho tiempo, por lo que vuelvo a Java.

¿Cómo usted, como usuario, resuelve esto? No use tantos widgets, observe qué aplicaciones se ejecutan constantemente (una forma de verificar esto es usar el administrador de energía incorporado y ver qué aplicaciones usan mucha batería … es un indicador decente de qué aplicaciones se ejecutan a menudo en segundo plano), y tenga cuidado con lo que instala (lea los comentarios, no sea un primer adoptante, no use beta, etc.).

¿Cómo resuelve Google estos problemas? Bueno, están en el camino correcto con su implementación de aceleración de hardware en Android 3.X y 4.0. Para dispositivos más antiguos, no creo que puedan hacer mucho. En el futuro, además de abandonar Java por completo, deberían dedicar mucho tiempo a optimizar su código de interfaz de usuario y buscar aumentar el rendimiento en cualquier lugar que puedan. Sin haber visto la fuente de Android, realmente no puedo decir cuál es el problema principal con el código. Por supuesto, podría ser “irresoluble” si solo fuera debido a la naturaleza multitarea del sistema operativo.

¿Cómo pueden los fabricantes resolver el problema? Siempre busque el mejor hardware, trabaje en estrecha colaboración con Google para optimizar Android con el hardware seleccionado y actualice con frecuencia. Cada actualización debe proporcionar mejoras de rendimiento realizadas debido a los datos de uso de su teléfono.