Ir al contenido principal

¿Por qué las aplicaciones de iOS se ven más fluidas que las de Android?


Uno de los puntos que innegablemente tenemos que admitir en pos de iOS es el apartado visual y de sensación de fluidez, donde resalta especialmente por su rapidez a la hora de sacar a la luz todo el potencial de unas aplicaciones con un apartado visual muy cuidado, sin embargo, esas mismas aplicaciones, ejecutadas en Android en unos terminales de similares características, no dan tanto resultado.
Muchos nos podemos quejar de las empresas, de los desarrolladores que no cuidan una línea de estilo conjunta para todas sus aplicaciones intentando que no sean inguales. Muchos nos hemos estado preguntando por qué si tienen un código prácticamente idéntico en ambas versiones y si se tienen terminales con capacidades idénticas en iOS se ve más fluído que en Android. Pero por fin nos encontramos una respuesta, y para gozo de muchos, no tiene que ver con las aplicaciones en sí.
La respuesta viene gracias al Google+ de uno de los más recientes ingenieros de Google, Andrew Munn, que ha decidido dar explicaciones de por qué esta aparente discriminación a Android, que resulta no ser tal.
No son por pausas GC. Tampoco es porque Android ejecute bytecode y porque iOS en cambio haga lo propio código nativo. La causa es que en iOS toda interfaz se procesa en unos procesos dedicados las interfaces con una alta prioridad a tiempo real que ocurre cuando se paran algunas acciones. Sin embargo Android ejecuta al estilo de un ordenador tradicional, donde el modelo de renderización ocurre en el proceso principal con una prioridad normal, causando que todo parezca menos fluido
Por ejemplo, coged un iPad o iPhones y ejecutad Safari y cargad una página web compleja como puede ser Facebook. A mitad de la carga pulsad la pantalla y moveos por ella. Se parará porque está constantemente renderizando a tiempo real y parará hasta que dejéis de pulsar la pantalla
Sin embargo, si usáis un terminal Android y cargáis la misma página, a la par que os movéis se irá cargando tanto la interfaz como el contenido, proceso para el cual los terminales con doble núcleo vienen a la perfección
La explicación, más compleja que el resumen que hemos hecho, incluye diversos factores como la aceleración de hardware, la optimización del código y las prioridades a la hora de procesar, pero nos explica el problema base de una de las preguntas que más se hacen en la guerra ente Android e iOS.
En un comentario hecho por Ricardo Galli, explica más a fondo el sistema de los shedulers
El problema de la latencia en Android es fundamentalmente un problema del scheduler. Android funciona mucho mejor con el “multitask” (en realidad “multiprogramación”) porque es un Linux y no han tocado prácticamente la gestión de procesos. Para arreglar este problema sólo tienen que mejorar el scheduler. Seguramente están trabajando en ello, y de hecho se ha mejorado mucho.
El otro problema que tiene Android es que cada proceso es una máquina virtual de Java separada al que han optimizado haciendo que se comparta la memoria de las librerías comunes (como hace naturalmente el Linux/UNIX) y código muy optimizado.

Los programas en Android están en ese código intermedio que es interpretado por la máquina vitual, en cambio en iOS es nativo del procesador (que da ventajas de velocidad, pero desventajas de portabilidad y diversidad, lo que solucionan con un sólo tipo de hardware). Seguramente hay cosas que se pueden mejorar, pero esta desventaja es cada vez menor con la ampliación de velocidad de procesadores, y sobre todo de caché.

Los schedulers no son una ciencia exacta, es algo bastante quisquilloso, con montón de “casos exremos” (corner cases) al que ir detectactando y agregando heurísticas que se aprenden con la experiencia.

Es más que probable que el problema desaparezca (por tres razones fundamentalas, las mejoras en el scheduler, la gestión de la máquina vrtuale de Java y la mejora del hardware), lo que no se puede decir, a estas alturas, es que siempre será así, y que es un problema de diseño original

Via: Xataka Android

Comentarios

Entradas populares de este blog

Exprime tu batería con Easy Battery Saver

El tema estrella y recurrente de todo smartphone vuelve a la carga.   ¿Quién no sufre las presiones de su batería? Creo que ninguno puede decir que está conforme con su rendimiento. Algunos asumimos estas carencias, pero otros intentan exprimir sus baterías, sea manualmente o gracias a alguna aplicación específica. Existen muchas aplicaciones de este tipo. Algunas de las más conocidas son Juice Defender o   Battery Stretch . También hemos hecho recopilaciones y   especiales sobre batería . Pero hemos encontrado una buena app que quizá os guste.   Easy Battery Saver se caracteriza por gestionar tu batería de la manera más cómoda y fácil posible , manteniendo la efectividad. Easy Battery Saver Como os venía diciendo esta aplicación   nos será muy fácil de usar y es genial si no queremos complicarnos en configuraciones   y programaciones. En su pantalla principal se nos muestra la batería restante y el modo que está en funcionamiento. También   se nos muestra el tiempo de duració

El Android Market Ahora es GOOGLE PLAY, descargalo aquí

Descargalo aquí: goo.gl/3uNDr La tienda online de Google donde se ofrecen aplicaciones, libros electrónicos o música para dispositivos Android cambia su nombre y pasa de denominarse Android Market a Google Play Store . Este cambio obedece a la estrategia de Google de ofrecer todos sus contenidos en la misma plataforma para intentar competir con Amazon y Apple . "Algunas personas ven el icono de Android en la pantalla y creen que es sólo para aplicaciones", ha explicado el director de contenido de Android, Chris Yerga . Fue hace un año cuando Google empezó a ofrecer libros electrónicos, vídeos y canciones a través de Android Market. Parece que esta decisión no ha tenido mucho éxito, ya que los usuarios usan exclusivamente el market para la desarga de aplicaciones. Con el cambio de nombre Google espera acercarse al modelo de iTunes , que le ha permitido convertirse en un referente para la descarga de música. Android es el sistema operativo para Smartphones más usa