¿Por qué Android no puede administrar la RAM de manera tan eficiente como iOS?

Hay una manera más fácil de explicar por qué Android no puede administrar la RAM de manera eficiente como iOS. Primero, veamos de qué está compuesto Android,

El idioma oficial para el desarrollo de Android es Java. Grandes partes de Android están escritas en Java y sus API están diseñadas para ser llamadas principalmente desde Java. Hay algo llamado GC o recolección de basura en Java. Si bien la codificación de la lógica es una parte más fácil, el GC ralentiza todo y crea lentitud aleatoria en la experiencia general del usuario. porque las aplicaciones de Android usan Java y necesitan toda la RAM adicional para hacer algo llamado recolección de basura.

¿Qué es exactamente GC preguntas?

Cuando se ejecuta una aplicación Java típica, está creando nuevos objetos, como cadenas y archivos, pero después de cierto tiempo, esos objetos ya no se usan. GC destruye automáticamente esos objetos y libera memoria, pero no hay certeza cuando GC hace eso. Los recolectores de basura de Android funcionan mejor cuando las aplicaciones de Android tienen de 4 a 8 veces más memoria de la que realmente se necesita para realizar el proceso de recolección de basura. Una vez que deja de tener esa cantidad de memoria libre disponible, el rendimiento comienza a sufrir.

Es por eso que los dispositivos Android necesitan tener el doble de RAM para ejecutar aplicaciones que su iPhone. Evidentemente, más RAM también afecta negativamente la duración de la batería, lo que es parte de por qué los teléfonos Android también necesitan tener baterías más grandes para alcanzar la misma duración de batería que un iPhone 6s.

Para iOS, su sistema operativo no necesita toda la memoria adicional asociada con Java y Android, ya que fue diseñado para evitar este tipo de recolección de basura desde cero. Solo necesita la memoria que está usando. Java usa recolectores de basura (GC) mientras que Objective-C en el iPhone usa el conteo automático de referencias (ARC). Cuando llega el momento de reclamar RAM, ARC le permite liberar automáticamente y eliminar toda la basura de una vez, mientras que GC necesita cazar y recolectar la basura.

Espero que eso explique ¿Por qué Android no puede administrar la RAM tan eficientemente como iOS?

Aquí hay algo para los fanáticos de Apple:

¿Quién fabrica el hardware y el software de los iPhones?

manzana

¿Quién hace el software de Android?

Google

¿Quién hace el hardware de Android?

No google ( excepto Google Pixel )

Creo que eso responderá a su pregunta ya que la integración de hardware y software lo convierte en un factor esencial para un rendimiento impecable y, por lo tanto, para administrar el RAM de manera más eficiente

Espera lo mismo de GOOGLE PIXEL

Android ha ofrecido mucho más en otras áreas que iOS no ha ofrecido.

Android utiliza todas las tecnologías de código abierto / API para trabajar (kernels de Linux, bibliotecas de código abierto, API de Java / C y más) que ofrece mucha libertad e interconectividad con otros dispositivos; no encontrarás tanta libertad en iOS.

Los teléfonos Android son mucho más baratos que iOS, lo que nuevamente es una gran ventaja y todo eso debido a la infraestructura de bajo costo. El desarrollo de aplicaciones de Android no es tan costoso como en iOS.

Todos estos beneficios tienen algún costo. Dado que existen diferentes componentes de código abierto que funcionan para que el sistema operativo Android sea funcional, es probable que tengan un retraso de rendimiento en la coordinación, mientras que iOS usa todos los productos de patente internos y, por lo tanto, están creados para funcionar con cada uno sin problemas.

Dicho esto, los dispositivos Android han mostrado una mejora considerable en el rendimiento en las últimas actualizaciones de Android y el rendimiento es la mayor preocupación de los ingenieros de Google cuando lanzan la nueva versión de Android.

Verá muchas más versiones de Android compatibles con RAM en los próximos años, lo que hará que iOS se quede sin dinero.

La respuesta es JAVA. Android está escrito en Java. ¿Alguna vez has visto una aplicación JAVA funcionando bien? Tome IntelliJ por ejemplo. Este IDE es un ejemplo perfecto de lo malo que puede ser la administración de memoria Java. Tome Visual Studio por otro lado. Use ambos IDEs y verá la diferencia. Java GC es el culpable. IOS funciona en C ++. Es por eso que las animaciones son tan suaves y el teléfono rara vez se cuelga. No es porque el hardware no esté construido por Android. Si esta fuera la razón, las PC ensambladas funcionarían peor que las preparadas. Pero este no es el caso. Hay kernel para eso que maneja la interfaz del hardware con el software. El problema es con Java.