¿Por qué iPhone 4GB RAM pero Android no?

Año tras año, los fabricantes de Android están impulsando el lado del hardware de los teléfonos inteligentes: 108 MP, grabación de video de 8K, 12GB de RAM ... Pero espera, el iPhone solo tiene 4GB de RAM. ¡Y esto no le impide trabajar al nivel o incluso más rápido que sus competidores! ¿Y cómo se las arregló Apple para lograr este resultado? Todo esto en el video de hoy.





Primero, un poco de teoría. ¿Qué es la RAM y para qué sirve en un teléfono inteligente? En términos simples, esta es la memoria que almacena todas las aplicaciones en ejecución, sus datos y el sistema operativo en sí.



Naturalmente, cuanto más RAM tenga su dispositivo, más cómodo y agradable será interactuar con él.



La mayoría de los usuarios de iPhone ni siquiera saben cuánta RAM tienen en su teléfono inteligente. Esto se debe al hecho de que los usuarios se sienten cómodos con la multitarea en sus teléfonos inteligentes, solo usan y disfrutan de la suavidad y la velocidad del trabajo. Entonces, ¿cómo se las arregla Apple para funcionar bien con 4 GB de RAM?



¿Podría ser el sistema? De hecho, los milagros no suceden, Android e iOS requieren aproximadamente la misma cantidad de RAM. Por ejemplo, hace un par de años, un canal de Android Authority extranjero hizo una comparación detallada. El autor tomó dos teléfonos inteligentes en iOS, este es el iPhone 7 y en Android, Nexus 5x, con la misma cantidad de RAM, 2 GB. El iPhone 7 tiene MENOS RAM libre desde su lanzamiento que un teléfono inteligente Android: alrededor de 750 MB frente a los 1,2 GB del Nexus. Pero esto es hasta el momento en que inicie cualquiera de sus aplicaciones. Repetimos la prueba en el iPhone 11 y Pixel 3 con el Pixel 4. Ahora resulta que los números son comparables: el iPhone usa alrededor de 2 GB de RAM y el Pixel usa alrededor de 2,4 GB.











Bien, ¿tal vez sea porque las aplicaciones de Android ocupan más espacio de RAM? Después de todo, Apple ama a los desarrolladores y ellos son recíprocos. Pero tampoco: en muchos casos, el tamaño del espacio ocupado en RAM en iOS y Android es aproximadamente igual, pero en algunos casos las aplicaciones en iOS ocupan casi 1,5-2 veces menos RAM. Lo más probable es que esto se deba al código ejecutable más optimizado de la aplicación, porque los lenguajes para escribir aplicaciones son muy diferentes.



Cuando se calcula, las aplicaciones de Android ocupan colectivamente solo un 6% más de espacio RAM.



Pero esto es solo el comienzo, ya que muchos usuarios de productos de Apple dicen "¡La optimización decide!". Al final resultó que, ¡hay algo de verdad en esto!



Ambos dispositivos funcionan con aplicaciones a la velocidad de la luz, todo está claro con un Android, todo está almacenado en la RAM, pero ¿cómo se las arregla el iPhone con sus miserables 4 gigabytes? Toda la magia radica precisamente en el trabajo de iOS con RAM. Básicamente, tanto iPhone como Android tienen aproximadamente el mismo programador de memoria. Si al momento de lanzar una nueva aplicación, el teléfono inteligente simplemente no tiene RAM libre, tirará una de las lanzadas anteriormente y abrirá la que necesites en este momento.



En el mundo de las computadoras, el sistema operativo Windows tiene un archivo de intercambio (pagefile.sys), también llamado swap (el término está escrito en inglés - swap). Este es el espacio en su disco duro donde el sistema mueve los datos no utilizados de la RAM. Para no almacenarlas en la RAM, las aplicaciones que se han estado ejecutando durante mucho tiempo simplemente se transfieren al disco duro, liberando así espacio para otra pestaña de Chrome. PK-boyardos entienden lo que quiero decir.



En los teléfonos inteligentes, todo es un poco más complicado, muchos teléfonos inteligentes aún no tienen las unidades flash más rápidas en la memoria permanente. A esto le sumamos el hecho de que la memoria flash tiene un recurso de lectura y escritura relativamente pequeño, por lo que los fabricantes de teléfonos inteligentes han recurrido a una implementación diferente.



Imagínense tal situación, tenemos 4GB de RAM, 5 aplicaciones están abiertas, la memoria ya está llena, cómo podemos iniciar otra aplicación sin cerrar una de las cinco, es decir, las que ya están abiertas. El caso es que tanto iOS como Android también tienen un llamado SWAP comprimido, que usa compresión, que es similar a lo que hace el archivador. La aplicación se comprime dentro de la RAM, el sistema selecciona las aplicaciones más masivas, ya sea un juego grande o dos pequeños, se produce la compresión, liberando así hasta un 50% más de espacio, y ahora puedes lanzar otra aplicación.







Este esquema funciona tanto en iPhone como en Android, pero Apple ha dado un paso más. Descubrieron cómo dividir el espacio en páginas separadas: bloques de 16 KB que pueden contener cualquier información. Dicha página puede marcarse como sucia o limpia. Limpiar: memoria que ya no está en uso (es decir, ya no hay objetos que se refieran a ella y puede descargarla de forma segura). Posteriormente se puede cargar desde el disco ("salida de página"), esta memoria contiene marcos, código ejecutable y archivos de solo lectura.







Por ejemplo, dichas páginas pueden contener datos de textura del juego que la aplicación no utiliza incluso después de reiniciar desde el fondo, así como en otras aplicaciones pueden ser diferentes tickers AR, máscaras y otros bloques de código que la aplicación no usa hasta que el usuario los reutiliza. iniciará el programa desde el fondo.



Sucia: memoria que todavía se usa en la aplicación, es imposible descargarla, por lo tanto, cuando la aplicación cambia al fondo, la limpia simplemente se descarga y la sucia se comprime mediante dos métodos de compresión:



  • Compresión de búfer: utiliza un método de compresión de archivos de un solo paso; este método se utiliza para comprimir archivos pequeños de hasta 8 MB.
  • Compresión de flujo: utiliza varios pasos para comprimir archivos, incluida la recompresión de archivos comprimidos previamente, lo que lo hace ideal para comprimir archivos grandes.


Digamos que tenemos una aplicación de Instagram, ocupa 300 MB de RAM, el primer paso será borrar la memoria limpia que la aplicación tenía en stock y ya no será necesaria. El tamaño en RAM se reduce a unos 170 MB. El sistema operativo entonces recurrirá a uno de dos métodos para comprimir la memoria sucia. Gracias a un sofisticado algoritmo de compresión, la memoria sucia de 170 megabytes se comprime a un tamaño impresionantemente pequeño: ¡menos de 10 MB! A su vez, los fabricantes de teléfonos inteligentes basados ​​en Android salieron de la situación con una solución más simple, aumentar el tamaño de la RAM para usar swap menos comprimido. Entonces es tiempo de prueba. Tomamos dispositivos de diferentes generaciones, iPhone 11 y Pixel 3, pero ambos con 4GB. Veamos qué pasa.















Pixel tiene en cuenta tres juegos. Comencé a descargarlos de la memoria al comenzar el cuarto.



El iPhone es totalmente compatible con seis juegos. Empecé a descargar el día siete, pero no todos. Todo el mundo empezó a salir volando sólo en el octavo juego.



Y aquí llegamos a la culminación de la pregunta, ¿necesita entender por qué el iPhone está comprimiendo datos tan rápidamente en la RAM? Y el punto es este. Para realizar esta operación rápidamente, necesita un procesador potente con Big Cores de alto rendimiento.











Si miramos las capturas de pantalla del punto de referencia GeekBench 5, veremos la superioridad del A13 Bionic sobre el Snapdragon 865 en 1.5 veces, ¡y el A14 Bionic ni siquiera se ha lanzado aún! ¡Es el rendimiento por flujo de datos lo que siempre ha sido la principal baza de los procesadores de Apple! El gran problema de los teléfonos inteligentes Android es que todos están construidos en hardware muy diferente, los fabricantes se ven obligados a optimizar el sistema para dispositivos más débiles que simplemente no tienen una potencia de procesador tan impresionante o una memoria rápida. Aunque ya hay algunos avances de Qualcomm.



Entonces, incluso desde la presentación de Snapdragon 855, se notó que la compañía se centró en un núcleo de alto rendimiento (núcleo principal), que tiene una mayor frecuencia y tamaño de caché, pero esto aún no es suficiente para ponerse al día con los chips de Apple.







Creo que ahora muchos han entendido por qué el iPhone no necesita tanta RAM. El tamaño no es lo principal, es mejor invertir más dinero en la parte del software y asignar adecuadamente los recursos de su hardware debido a algoritmos inteligentes para comprimir archivos en la RAM.



All Articles