Editorial YSA – El fanatismo es cosa mala
En el mundo de…bueno, de todo, siempre hay fanáticos. Tenemos fanáticos de deportes, de religión, política y estamos los de tecnología. En el caso de nosotros, YoSoyAndroid, somos fanáticos de este maravilloso sistema operativo de Google: Android. Habiendo dicho eso, nuestro deber es llevar la noticia y la información lo más real y neutral posible y digo posible porque cuando escribimos editoriales como este, se nota de qué lado estamos. Pero ese no va a ser el caso de este editorial, bueno, en parte.
Resulta que quiero tocar un tema que llega a la fibra más profunda de algunos y estoy consciente de que hace tiempito que no lo hablo de algo así y ya me estaban solicitando un poco de veneno por las redes. No vengo a tirar veneno, bueno, en parte; vengo a aclarar algo que todavía HOY, 27 de febrero de 2013, algunos fanbois de iOS no quieren entender.
Quiero dejar bien claro que esto es de amistad.
Nota: YoSoyAndroid ni los miembros del #TeamYSA se solidarizan con las expresiones vertidas en los videos.
Llegó a mi atención un fanboi que me dice que Android “laguea”. Si, igual que tú, yo también viajé al 2009 pero sigue conmigo que se pone mejor. Resulta que este es el tema de nunca acabar: “Android no sabe manejar recursos”, “Android laguea porque deja los apps en RAM”, “En Android si abres muchos apps al mismo tiempo el celular se vuelve inestable”. Si, lo sé, viajaste nuevamente al 2009.
Entre tanto argumento, que BY THE WAY, bien válidos ya que son la opinión de alguien, también me llamó la atención que dijeran que: “En iOS puedo correr muchos apps, varios juegos pesados y el sistema no se pone lento a diferencia de Android”. Te dije, el cuento de nunca acabar.
Vamos a acabar esto hoy, ¿qué creen? Me di a la tarea de probar varias cositas en Android y, en este caso, Android Jelly Bean ya que es la versión que está corriendo en el celular de mi esposa y en el mío. Probé primero con el Galaxy S2 SkyRocket de At&t de mi esposa. Un teléfono con un CPU Qualcomm Snapdragon doble núcleo a 1.5Ghz y 768MB de RAM corriendo CyanogenMod 10 con Android 4.1.2. El punto era probarles a estas personas que se equivocan y que, aunque el S2 es un teléfono viejito, el nuevo Project Butter de Jelly Bean vino para resolver todo problema con el LAG.
Quiero hacer una pausa para explicar y aclarar lo que es LAG. El LAG en Android se daba (pasado) porque el código no estaba optimizado para el manejo de gráficas. El sistema operativo no usaba lo que usan ahora para hacer hasta triple “buffering” (para manejar mejor recursos de memoria al procesar gráficas) y los fps no eran los mejores. Esto causaba que se perdieran “frames” y aparentara que el sistema estaba dando brincos. LAG no tiene NADA que ver con el tiempo que se tarda Android en cargar los apps a RAM y ejecutarlos.
Seguimos. Resulta que la prueba se basaba en abrir varios apps y algunos juegos, cambiar de uno a otro y tratar de identificar si el teléfono se ponía lento o si dejaba de funcionar o si simplemente se veía algo de LAG.
Advertencia: Los videos pueden contener audio no apto para menores
A fin de cuentas, las pruebas no fueron válidas ya que no estaba corriendo nada pesado. Fue entonces que intenté llevar las cosas un poquito más al extremo. En mi LG Optimus G descargué el juego de SpiderMan y Modern Combat 4; dos juegos que consumen mucho recurso. Para probar que el LAG es cosa del pasado y que Android sabe manejar los recursos, corrí estos dos juegos al mismo tiempo. De igual manera, corrí varios apps regulares junto a otros tres juegos. En fin, en memoria había 5 juegos y varios apps como Fbook, Twitter, Falcon, Google Plus, etc.
El teléfono no solo manejó la carga sin problemas, sino que encima de eso me puse a ver un video HD grabado con el mismo teléfono mientras que el mismo tiempo jugaba MC4 y cambiaba a SpiderMan o a otros juegos mientras corría el video. Vean lo que digo:
¿De qué se trata esto? No se trata de intentar probar que este es mejor que aquel (eso ya está claro). Se trata de informar, se trata de educar. Lo que intento hacer con estos videos, y con todas las descargas que pueda hacer, es llevar este mensaje: Percepción vs Experiencia.
¿Qué significa esto? Prueba, lee, busca y oriéntate antes de tirar fanguito, tu sabes, cosa de que no quedes mal, aunque eso es lo último que te debe importar porque aquí siempre estamos para ayudar.
Ahora para la parte educativa:
Ambos sistemas operativos pueden manejar múltiples apps corriendo al mismo tiempo, pero lo hacen de manera distinta. Android consiste de apps y de procesos; en iOS solo hay apps. Cuando en Android corres un app, el mismo puede llamar a 1 o más procesos y estos procesos pueden ser compartidos entre apps. Google decidió dar los mismos APIs que ellos usan en sus apps nativas del sistema para multitasking a los desarrolladores. En cambio, Apple solamente liberó 7 APIs para Muiltitasking.

En iOS, cuando abres un app, el mismo se carga a RAM (como en todo SO) y si oprimes el botón de HOME este app automáticamente cae al “backgound”. El app tiene varios segundos para terminar lo que sea que estaba haciendo antes de que se vaya a estado “SUSPENDED”, que por la documentación de Apple para los desarrolladores, en este estado al app permanece en memoria por si lo vuelves a cargar la transición sea rápida, pero no recibe ni 1 solo ciclo del procesador. Lo que significa que aunque tus apps estén en RAM, no significa que están consumiendo recursos del CPU. En caso de que iOS se quede sin RAM o necesite RAM para correr un app de mucho consumo, el mismo libera lo que lleve más tiempo en RAM sin usarse.
El ejemplo que siempre doy para iOS es Whatsapp. Whatsapp usa uno de los 7 APIs de Apple para multitasking; el de ”push notifications”. Por eso, aunque cierres WhatsApp, los mensajes te van a llegar, pero si te fijas, cada vez que te llega un mensaje con WhatsApp cerrado por más de ciertos segundos, al momento de abrir el app para ver el mensaje puedes notar que WhatsApp carga el chat nuevamente y escucharás el sonido nuevamente de WhatsApp notificándote que hay un mensaje nuevo. De hecho, si seleccionas la notificación de WhatsApp de la barra de notificaciones para ir a verla, notarás que WhatsApp abre en la lista de Chats donde te avisa que tienes un nuevo mensaje para X conversación.
En cambio en Android, todos los apps arrancan ciertos procesos. Cuando cierras un App aunque el mismo permanece en memoria y al igual que en iOS, el App no está haciendo nada, pero el proceso o los procesos que activó ese app pueden utilizar en CPU como les guste o como necesite. Los procesos que no necesitan funcionar en el BackGound permanecen también en memoria, pero en estado “standby”, o sea sin usar el procesador.
Por eso cuando recibes un mensaje en WhatsApp en Android y abres la notificación desde el Notification Bar, WhatsApp entra directo al Chat al cual te llegó la notificación con todos los mensajes cargados y no tienes que esperar a que carguen.
Algo similar pasa con los juegos del video. Los procesos que los juegos están usando y el mismo app del juego permanecen en RAM y dependen del desarrollador, si los desactiva o no, cuando el app se va al “backgound”. El app en el “backgound” se guarda en el último estado en el que estaba cuando estaba activo para que cuando regreses al mismo puedas seguir jugando sin tener que cargarlo nuevamente.
Luego de todo esto pensarás: “Entonces Android usa más recursos que iOS y debe ponerse lento mientras más cosas estén activas corriendo”. Sí y no. Sí, Android consume más recursos que iOS y por eso Apple maneja su “Multitasking” de esa manera para ahorrar batería.
No, Android no se pone lento mientras más apps subes a RAM porque como mencioné anteriormente, similar a iOS y a todo sistema operativo, cuando el Kernel detecta que necesita más recursos, en el caso de Android, se van bajando de RAM los apps que llevan más tiempo activos y luego baja de RAM los que menos tiempo lleven en caso de que necesite más RAM. Si a fin de cuentas necesita mucho más RAM, empieza a bajar procesos que estén corriendo. Aquí vas a notar que tal vez regreses a Facebook, por ejemplo, y el mismo cargue desde cero y se regrese al punto en donde estaba, pero Android no se va a quedar sin recursos ni a ponerse lento por falta de estos.
Para terminar, creo que con los videos podemos dejar claro que el LAG es cosa del pasado y en Android 4.1 en adelante, no importa el dispositivo que lo corra, no vas a experimentar LAG. Tal vez sí experimentes que los apps cargan más lentos en dispositivos digamos de 1GHZ de un solo núcleo con 512MB de RAM. Tal vez en estos dispositivos no puedas correr juegos enormes que necesiten muchos recursos por razones obvias, pero eso no es culpa de Android. Eso pasa en cualquier sistema operativo. Intenta correr Call Of Duty MWF en una PC con CPU Pentuim 2, JA!









De antemano también me gustaría saber si esa ROM de cyanogen presenta algún bugs?
Hola. Disculpa la molestia. Casualmente tengo un skyrocket como el que muestras en el vídeo. Quisiera saber si tienes alguna información de cuando saldrá jelly bean oficial para este terminal? Y si no es así que por favor me ayudaras con algún tutorial para actualizar mi skyrocket a jelly bean ya sea por medio de cyanogenmod o por medio de algún otro desarrollador.! Agradezco cualquier ayuda de tu parte. Soy fiel seguidor de android desde hace años atrás. Saludos!!
@jvl18 escribeme a josep(at)yosoyandroid(punto)com
Les distes en la madre a esos lokos que no saben nah y siguen estancaos en lo mismo y le venden lo mismo con una pantalla un poquito mas grande! XD jajajaja!!!! PD:vi mis post de G+ en el video del LG Optimus G (tipico boricua,buscando pauta jajajaja)
http://m.elnuevodia.com/samsunggalaxys3leganaaliphone5-1458157.html
Boooommmm!!! Edúquense antes de hablar... Probado en videos y todo... NO HAY NINGÚN SISTEMA QUE MANEJE PROCESOS Y COMO LO HACE ANDROID
Muy buena explicacion, mas claro no pudo ser y no solo explicacion, lo vieron y se probo en video. Lo que todavia se niegan a escuchar la otra version de android, es como hablarle a la pared. Recordando tambien que desde el 2g, 3g, 3gs, 4, 4s y 5 han perfeccionado su ios en un mismo telefono que ya lo sabian de rabo a cabo. En cambio android esta en muchos decives, y un sistema operativo por cada telefono que sale y mira que son muchos, por lo que es aceptable como android ha evolucionado desde eclair 1.6, desafiando todas las dificultades que ha encontrado en el camino hasta que ios se dio cuenta que podria convertirse en un contrincante, sino es que ya lo es, o peor aun si dejo de serlo.
Pero nada, los resultados pueden verse en las tiendas y kioskos de celulares que siguen apareciendo mas y mas robocitos verdes.
O soy yo, o es histeria colectiva?