¿Por qué el iPhone necesita menos RAM que los dispositivos Android?

1. Recolección de basura

En el caso de Android, ya que implica la recolección de basura que requiere más memoria. Las aplicaciones de Android usan Java y, como resultado, Android hace la recolección de basura. El problema con la recolección de basura es que el uso de memoria crece hasta que se recolecta, por lo que puede haber más memoria asignada de la necesaria. Eso es malo para dispositivos con memoria restringida y sin opción de intercambio.

Cuando se ejecuta el recolector de basura, escanea el montón para encontrar memoria que ya no se usa, y ese es un proceso costoso, que ralentiza el dispositivo hasta que se haya completado.

El iPhone no usa recolección de basura. Utiliza el conteo automático de referencias, que es una forma innovadora de administrar objetos Objective-C en iOS. Elimina los mensajes explícitos de retención, liberación y liberación automática, y se comporta igual en ambas plataformas. A diferencia de la recolección de basura, ARC no maneja los ciclos de referencia automáticamente. Esto significa que, siempre que haya referencias “fuertes” a un objeto, no se desasignará. En consecuencia, las referencias cruzadas fuertes pueden crear puntos muertos y pérdidas de memoria. Depende del desarrollador romper los ciclos utilizando referencias débiles.

2. Interfaz de usuario

Un usuario de Android a menudo se queja del retraso del teléfono, pero la interfaz de usuario de iOS funciona muy bien. La razón principal es que la representación de la interfaz de usuario de iOS ocurre en un hilo separado con prioridad en tiempo real, pero en Android, esto ocurre en el hilo principal con prioridad normal. Esto significa que otras aplicaciones en Android pueden hacerse cargo de los recursos del procesador y dañar las interacciones básicas de la interfaz de usuario, lo que se traduce en un retraso notable.

3. Gestión de aplicaciones

Android permite a los desarrolladores ejecutar procesos en segundo plano más libremente que iOS. iOS mata cualquier proceso cuando cree que no necesita estar ejecutándose. Las aplicaciones que reproducen música en segundo plano o similar pueden mantenerse con vida.

Android brinda mucha libertad a los desarrolladores de aplicaciones que causan pérdidas de memoria o procesos en segundo plano que acaparan los recursos, lo que significa que debe tener cuidado con lo que instala en su dispositivo Android. Android ha hecho algunos intentos para controlar esto, como eliminar aplicaciones que usan demasiada CPU, pero aún así, el usuario puede notar estos problemas.

El iOS pone muchas limitaciones a los desarrolladores y lo que pueden hacer les hace no hacer mucho daño.

4. Hardware

El iOS de Apple está optimizado para ejecutarse en el hardware, que también está diseñado y probado por Apple, y fabricado por los socios fabricantes de Apple. Android no tiene ese nivel de control porque los desarrolladores del sistema operativo están separados de los fabricantes de hardware.

Compartir.

Cuando el usuario no está usando una aplicación activamente, el sistema la mueve al estado de fondo. Para muchas aplicaciones, el estado de fondo es solo una breve parada en el camino hacia la suspensión de la aplicación. La suspensión de aplicaciones es una forma de mejorar la duración de la batería, también permite que el sistema dedique recursos importantes del sistema a la nueva aplicación en primer plano que ha llamado la atención del usuario.
La mayoría de las aplicaciones pueden pasar al estado extendido con bastante facilidad, pero también hay razones legítimas para que las aplicaciones continúen ejecutándose en segundo plano. Es posible que una aplicación de audio deba seguir reproduciendo música en la pantalla de bloqueo. Es posible que otras aplicaciones deseen descargar contenido en segundo plano para minimizar el retraso en la presentación de ese contenido al usuario. Cuando se considera necesario mantener una aplicación ejecutándose en segundo plano, iOS ayuda a hacerlo de manera eficiente y sin agotar los recursos del sistema o la batería del usuario.

Las técnicas que ofrece iOS se dividen en tres categorías:

  • Las aplicaciones que inician una tarea corta en primer plano pueden pedir tiempo para finalizar esa tarea cuando la aplicación pasa a segundo plano.
  • Las aplicaciones que inician descargas en primer plano pueden transferir la administración de esas descargas al sistema, permitiendo así que la aplicación se suspenda o finalice mientras la descarga continúa.
  • Las aplicaciones que necesitan ejecutarse en segundo plano para admitir tipos específicos de tareas pueden declarar su compatibilidad para uno o más modos de ejecución en segundo plano.

Siempre trate de evitar hacer un trabajo en segundo plano a menos que hacerlo mejore la experiencia general del usuario. Lo que Apple hace eficientemente y Android no logra. Una aplicación podría pasar a un segundo plano porque el usuario lanzó una aplicación diferente o porque el usuario bloqueó el dispositivo y no lo está utilizando en este momento. En ambas situaciones, el usuario está indicando que su aplicación no necesita estar haciendo ningún trabajo significativo en este momento. Nuevamente, qué Apple entiende y Android no. Continuar funcionando en tales condiciones solo agotará la batería del dispositivo y podría llevar al usuario a forzar el cierre total de la aplicación.

también

iOS no tiene ningún método de recolección de basura. Aun así, la recolección de basura es completamente innecesaria (para todos los fines prácticos) cuando se utiliza ARC. ARC hace su magia en tiempo de compilación para hacer el recuento de referencias por usted, lo que hace innecesario (y en realidad no está permitido) usar cualquier otro tipo de administración de memoria.

Para aclarar, OS X actualmente admite la recolección de basura, pero está en desuso a partir de OS X Mountain Lion. iOS nunca ha admitido y nunca admitirá la recolección de basura. Cualquier ventaja de la recolección de basura es discutible en comparación con las de ARC, y Apple ha hecho el movimiento para empujarnos (con fuerza) en la dirección correcta.

también

La razón principal por la que Android es lento es la forma en que trata la representación de la interfaz de usuario. Mientras que en iOS, la representación de la interfaz de usuario ocurre en un hilo separado con prioridad en tiempo real, en Android esto ocurre en el hilo principal con prioridad normal. Por supuesto, esto significa que otras aplicaciones pueden hacerse cargo de los recursos de su procesador y dañar las interacciones básicas de la interfaz de usuario, lo que se traduce en un retraso notable. Munn ejemplifica esto con Safari y el navegador de Android: si toca y mantiene presionada la ventana de Safari mientras se carga una página web, el proceso de carga se detiene, ya que la representación de la interfaz de usuario tiene la máxima prioridad y se hace cargo. El resultado es que la página web no se cargará hasta que levante el dedo, pero la IU se mantendrá suave todo el tiempo. Android tiene un enfoque radicalmente diferente: intentará mantener una tasa de respuesta razonable para la interfaz de usuario y cargar la página web, pero a menudo las tasas de fotogramas caerían causando un retraso visible.

PD: La respuesta anterior se encontró en el sitio de soporte para desarrolladores de Apple. Hazlo. Deja en claro qué tan poderosa es la gestión de procesos de iOS que cualquier sistema operativo Android y, por lo tanto, no requiere RAM más grande.

Personalmente, creo que no se trata del tamaño de la RAM, sino que está más relacionado con el acceso otorgado a las aplicaciones.

En general, en Android es más fácil instalar aplicaciones de terceros y acceder fácilmente a las aplicaciones en la ubicación del teléfono y otras cosas relacionadas. Las personas generalmente no se molestan en verificar el acceso que a menudo dan a las aplicaciones mientras instalan, lo que a su vez arruina la RAM y la batería de los teléfonos. La mayoría de las aplicaciones de Android siguen ejecutándose en segundo plano y siguen usando los recursos del teléfono hasta que, a menos que los apague, se produzca poca memoria y también poca batería. Incluso los servicios de juego de Google y otras cosas relacionadas siguen funcionando en segundo plano.

No es que Apple no tenga servicios de fondo y rumores de demonios, sino que se gestiona de manera más precisa y eficiente y necesita menos recursos. Y al no permitir un acceso fácil a aplicaciones de terceros, hay menos posibilidades de que aplicaciones o servicios desconocidos se ejecuten en segundo plano.

Otro factor es que con Android, casi todas las compañías, excepto algunas, agregan su propia máscara / interfaz de usuario en la parte superior del stock de Android o usan un sistema operativo diferente basado en Android, lo que nuevamente hace que los teléfonos inteligentes ocupen más espacio mientras se ejecutan de una manera en comparación con Los iPhones como iPhones tienen un iOS un poco limpio y preciso para todos y, por lo tanto, funciona sin problemas.

Además, Apple fabrica su procesador específicamente para su propio iOS, a diferencia de Google, que hace que Android sea independiente de cualquier otra empresa o procesador.

De acuerdo, hasta donde yo sé!

¡Android está basado en Java que nunca fue un sistema operativo para teléfonos inteligentes, sino que era bueno para teléfonos simples! ¡Así que ahora la consecuencia es que la gestión de RAM es increíblemente pobre! ¡Por ejemplo! ¡Debes haber usado un teléfono Android y notar que funciona rápido cuando es nuevo! ¡Pero a medida que pasan los días se vuelve más lento día a día! ¡Y es porque la aplicación almacena algunos datos en la memoria RAM que degrada el rendimiento! Esa es la basura Ram! ¡Lo que convierte a Android en Lagdroid!

Ahora en el caso de iPhone! ¡Es un sistema operativo desarrollado por Apple! A diferencia de Google, que compró Android, pero iOS siempre fue un SO de teléfono inteligente, ya que tiene excelentes capacidades de administración de RAM por su predecesor, MAC OS, que lo ayuda a administrar la RAM de una buena manera. ¡Y por lo tanto es mucho más rápido que Android! ¡El mejor ejemplo es ver una velocidad de dispositivo Android de 0.5 GB de RAM en comparación con cualquier dispositivo iOS de 0.5 o incluso 0.25 GB de RAM! ¡El iOS eclipsa!

¿Entonces que hago ahora? Android está hecho en Java, lo que nunca fue una buena idea, ¡así que vamos a cambiarlo a otro idioma! bueno, no es una solución fácil! Como saben, la razón principal de la baja venta de los teléfonos con Windows es que no tienen aplicaciones, lo que incluso será el caso con Android cuando cambiemos el lenguaje de programación, todas las aplicaciones actuales en Play Store se basan en JAVA y si cambiamos de él ¡no nos quedarán aplicaciones! Entonces sí, ¡realmente no podíamos hacer nada!

¡Y también una razón podría ser que tanto el software como el hardware del iPhone están diseñados por Apple, a diferencia de los fabricantes de Android que dependen del soporte de Google y, por lo tanto, no pueden optimizar la parte del software!

¡Estas son las razones por las que el iPhone es rápido!

Explicación de los laicos:

Se debe a la arquitectura defectuosa de Android. Para una comparación simple, si considera un hardware móvil como un automóvil y su sistema operativo como un conductor de automóvil, Android será como un automóvil de carrera en la mano de un conductor novato, mientras que iOS será como un Tesla Model X en una mano de conductor profesional. ¿No podría predecir quién puede ganar la carrera?

Explicación técnica:

Android necesita más RAM ya que está utilizando Java. El mecanismo de recolección de basura de Java (eliminar tareas / datos / procesos no deseados) es un mecanismo defectuoso. Necesita una gran cantidad de espacio libre para barrer las basuras de manera eficiente. Debido a eso, los móviles Android se ralentizan drásticamente cuando hay menos memoria. Para posponer la ocurrencia de tales problemas, los móviles Android están llenos de más RAM, lo que simplemente pospone los problemas rezagados.

iOS no tiene tales restricciones. La administración de memoria de iOS es bastante buena y está optimizada para funcionar sin problemas con su hardware correspondiente, ya que Apple controla tanto el hardware como el software de los dispositivos iOS.

Arquitecto Filosofías de diseño realmente. iOS está diseñado para ejecutarse en un entorno controlado, mientras que Android ofrece a los usuarios un mayor control de sus entornos. Hay una compensación entre ambas filosofías.

Puede obtener la experiencia iOS “completa” con 1 GB por ram. Obtener la experiencia completa de Android requiere más de 1 GB
Apple parece diseñar un producto pensando en el usuario promedio, mientras que Android diseña para una amplia gama de usuarios.

Pocos puntos;
Widgets + pantallas de inicio: Android permite widgets y múltiples pantallas de inicio. Necesito más RAM.

Multitarea: ambas plataformas lo tienen pero lo hacen de manera diferente. Android permite que una aplicación se ejecute completamente en segundo plano siempre que tenga la RAM. iOS permite la multitarea de forma más limitada. Para el consumidor promedio, ambos harían lo mismo.

En resumen, si hicieras un inventario, sin Android bloatware, con widgets y pantallas de inicio limitados y ejecutándolo en un 1GB, no tendrías ningún problema.

iOS mantiene un control estricto sobre lo que se ejecuta en segundo plano, Android no. Si bien la forma en que Android mantiene los servicios en segundo plano, los receptores y las alarmas en segundo plano está abierta, ofrece a los desarrolladores el control para crear aplicaciones como Tasker que posiblemente no puedan encontrar en iOS. La libertad es la libertad, creo. Y Android confía en que los desarrolladores serían responsables mientras hacen uso de la libertad. A veces hace maravillas, a veces solo se mete con el sistema. Hay formas de matar una aplicación de este tipo a través del sistema operativo y el sistema operativo es el único que toma las decisiones a ese respecto.

Además, Apple integra verticalmente sus dispositivos, lo que significa que tiene un agarre fuerte hasta el nivel de los materiales utilizados en un componente. Eso significa que Apple puede optimizar libremente su hardware para software y su software para hardware. Google puede hacer eso hasta cierto punto con los dispositivos Nexus (es por eso que también superan el buque insignia de Android y los iPhones actuales).

Android mantiene vivas todas las aplicaciones abiertas en la RAM, si hay suficiente RAM libre para hacerlo.

Esto reduce el uso de la batería porque las aplicaciones solo se inicializan en la primera ejecución y luego se mantienen activas mientras usa su teléfono. Sin embargo, estas aplicaciones no usan ninguna batería mientras se mantienen en su RAM, ya que los procesos (en general) no se están ejecutando (a menos que existan procesos en segundo plano).

Para Android, más RAM significa que más aplicaciones pueden mantenerse vivas, por lo tanto, un cambio más rápido entre aplicaciones para el usuario. “RAM vacía es RAM desperdiciada”.

Sin embargo, tenga en cuenta que cuando necesitamos RAM y no la tenemos, Android eliminará automáticamente los procesos menos utilizados hasta que tengamos suficiente RAM para ejecutar nuestras aplicaciones, por lo que no necesitamos preocuparnos realmente por eso.

Editar: como comentó Glyn Williams , iOS hace lo mismo, todas las aplicaciones utilizadas recientemente permanecen en la memoria en estado suspendido, por lo que se trata de cómo Android e iOS manejan estas aplicaciones suspendidas.

Android permite a los desarrolladores ejecutar procesos en segundo plano más libremente que iOS, ya que iOS eliminará cualquier proceso que crea que no necesita ejecutarse. Las aplicaciones que reproducen música en segundo plano o similar pueden mantenerse con vida.

Por lo general, las limitaciones que iOS pone a los desarrolladores y lo que pueden hacer les hace no hacer mucho daño, mientras que la libertad que les da Android a menudo causa pérdidas de memoria o procesos en segundo plano que acaparan los recursos, lo que significa que debes tener cuidado con lo que instalas en tu dispositivo Android . Android ha hecho algunos intentos para controlar esto, como eliminar aplicaciones que usan demasiada CPU, pero aún así, el usuario puede notar estos problemas. Esto, junto con el hecho de que cada fabricante de teléfonos agrega sus propias aplicaciones cuando envían su dispositivo Android, significa que cada fabricante puede agregar potencialmente una aplicación que acaparará la memoria. Con iOS solo tienes que preocuparte por Apple, y generalmente hacen bien su tarea.

Tenga en cuenta que aunque Android usa Java, promueve muchas buenas prácticas que optimizan el código Java específicamente para dispositivos Android, reduciendo el tamaño de la aplicación, el uso de memoria y el impacto de la recolección de basura, entre otras cosas. Sin embargo, para hacer esto, Android declara muchas de las buenas prácticas de Java como malas prácticas, algo de lo que no todos los desarrolladores son conscientes, lo que significa que piensan que están escribiendo un buen código, cuando en realidad es bastante opuesto. Es por eso que la recolección de basura tiene tanto impacto.

Personalmente, creo que para que Android funcione realmente bien, necesitamos que Java y JVM evolucionen un poco más. Veremos que pasa.

La respuesta es un poco más compleja. Asumiendo que sabes un poco de cómo funciona el sistema operativo, explicaré
1) Las aplicaciones de Windows / iOS se ejecutan en modo de espacio aislado, solo por el hecho de pensar, piensa que Windows / iOS ejecuta una caja virtual, y las aplicaciones se ejecutan en esa caja virtual. Entonces, cada vez que salga de una aplicación, toda la basura (datos no deseados en RAM) se elimina. Si bien en Android las cosas funcionan de manera diferente, es decir, las aplicaciones no se ejecutan en modo de espacio aislado, se ejecutan de forma nativa, por lo que al salir de la basura no desaparece, es por eso que la mayoría de los usuarios de Android usan aplicaciones de limpieza / optimizador de ram.
2) Aunque no soy un programador / desarrollador pero conozco algunos hechos, las aplicaciones de Android se pueden escribir usando c / c ++ / java, y la mayoría de los desarrolladores usan java. Y Java no tiene un buen mecanismo de recolección de basura. Mientras que C # (usado en Windows Phone) tiene una buena recolección de basura. Entonces piensa que funciona sin problemas en Windows.
3) Y la más importante es la forma en que se desarrolla iOS / Windows en lugar de Android. Windows e iOS se diseñó de tal manera que no necesita muchos recursos, mientras que Android se desarrolló para ofrecer funcionalidades sobre la experiencia del usuario. Es por eso que siempre puedes encontrar más funcionalidades en Android que Windows / iOS.
4) Android es un modelo de código abierto, mientras que Windows / iOS está cerrado / patentado. Y según mis experiencias personales, estos modelos de código abierto siempre están abiertos a riesgos de malware / virus, mientras que los modelos cerrados no lo están (con algunas excepciones). Incluso el propio Google no es compatible con las versiones anteriores de Android para solucionar problemas de seguridad (por debajo de 4.4).

No necesita más de 1 GB de RAM, es un error común. La razón por la cual los dispositivos Android generalmente tienen más RAM, al igual que la resolución de pantalla, la velocidad del reloj de la CPU y otras cifras, es porque los fabricantes compiten constantemente entre sí cuando se trata de especificaciones y RAM, para el usuario de tecnología ignorante, se considera que tiene Rendimiento extremadamente mejor cuanto más tenga. Obviamente, este no es el caso, sin embargo, la gente lo acepta.
Descubrirá que los dispositivos más antiguos, así como los más nuevos y de bajo presupuesto, tienden a tener 1 GB de RAM o menos y aún funcionan bien.

Apple se estableció en la década de 1970, es una empresa antigua y confiable. La compañía se fundó como una empresa de fabricación de computadoras y productos electrónicos. Apple no solo produce software sino también hardware y lo hace desde 1970, por eso Apple lidera este mercado a pesar de que está utilizando A solo procesador con dos núcleos solo.

El procesador de Android más rápido es Snapdragon 835 y la compañía que lo fabrica tiene solo 9 años (Qualcomm)

donde como la empresa que fabrica procesadores de manzana tiene 30 años (TSMC)

El iPhone tiene una arquitectura RISC, lo que significa un mejor recuento de IPC y su procesador está cableado, lo que significa que las instrucciones se ejecutan demasiado rápido y también los procesadores RISC usan un número pequeño y limitado de instrucciones y consumen menos energía y tienen un alto rendimiento.

Cuando Apple anunció sus nuevos modelos de iPhone 6, la memoria RAM de 1 GB se convirtió en un recurso de risa, dado que muchos teléfonos inteligentes Android competitivos tienen entre 2 GB y 3 GB de RAM. ¿Alguna vez se preguntó por qué Apple no ha ido más allá de 1 GB de RAM, mientras que los fabricantes de equipos originales siguen aumentando la RAM en el dispositivo Android para aumentar la eficiencia?

Con Android .. espero que este blog tenga respuesta para tu consulta. Echa un vistazo a este enlace. ¿Por qué el iPhone con 1 GB de RAM funciona mejor que Android con más de 2 GB de RAM?

Android es un núcleo completo del sistema operativo Linux diseñado para servidores y computadoras de escritorio pirateadas para ejecutarse en teléfonos, mientras que iOS fue diseñado desde cero para ejecutarse en dispositivos móviles con RAM limitada y ciclos de reloj de CPU limitados.

Un teléfono móvil Android, sin duda, requiere más y más RAM en comparación con el iPhone. La forma en que ambos El trabajo de los teléfonos móviles es diferente. Android mobile utilizó JAVA y su sistema operativo recicla la memoria cuando finalizan las aplicaciones y el proceso se llama recolección de basura. Es por eso que los teléfonos móviles con Android comienzan a colgar cuando no hay suficiente memoria y funcionan bien cuando la hay. Mientras que el sistema operativo del iPhone iOS no usa el estilo de recolección de basura.

Apple controla el hardware y el software de sus dispositivos, por lo que lo optimizan muy bien al usar menos RAM. Además, IOS ha sido diseñado de tal manera que cuando las aplicaciones se envían a segundo plano, la mayoría de ellas se suspenden a menos que necesiten mantenerse activas en segundo plano para tareas específicas, por ejemplo, WhatsApp.
Android, por otro lado, cuando se suspende una aplicación, permanece en segundo plano y permanece abierta y consume RAM.

Es por la forma en que ios está sintonizado para manejar sus recursos limitados. así que cuando cambias de aplicación en ambas plataformas, se convierten en procesos en segundo plano y para que la multitarea sea más fluida, ambas plataformas comprimen las aplicaciones en segundo plano y las almacenan en la memoria RAM. IOS, sin embargo, hace esto en mayor medida que Android. podría estar eliminando algunos datos de la aplicación, excepto lo que es necesario para reiniciar la aplicación en el mismo estado en que se dejó, pero esto es todo menos especulación, ya que Apple no libera el funcionamiento interno de iOS. En resumen, es mejor para mantener una correa corta en procesos en segundo plano que Android

El requisito de RAM depende del sistema operativo debajo. El sistema operativo Android requiere un poco más de memoria para funcionar. Pero el requisito de RAM también varía de las diferentes versiones de Android, es decir, la RAM requerida para ejecutar KitKat sería diferente de la memoria requerida para el pan de jengibre. Ahora, se ha afirmado que puede ejecutarse incluso con un teléfono que tiene 512 MB de memoria. Sin embargo, en los últimos tiempos, el aumento de la memoria no es un problema, ya que las empresas han recuperado su costo de investigación y ahora están produciendo RAM a un precio muy barato.

Si le gustan los tecnicismos, consulte este enlace: La respuesta de Glyn Williams a ¿Por qué el iPhone necesita menos RAM que los dispositivos Android?

No es solo por la recolección de basura, sino también porque iOS tiene una administración de recursos mucho más conservadora (la memoria también es un recurso) que Android. Por ejemplo, Android permitirá que cualquier aplicación se instale a sí misma (o una parte de sí misma) como un servicio y haga lo que quiera en segundo plano, a diferencia de iOS que le permite configurar tareas en segundo plano altamente administradas (por iOS) que se ejecutarán ocasionalmente y tendrán algo de tiempo limitado para realizar.

Debido a que la organización de iOS Multitarea es diferente de Android, iOS cerrará todas las aplicaciones cuando abra otra aplicación y luego lo hará si abre otra aplicación una y otra vez. Simplemente abrirá y cerrará aplicaciones rápidas, iOS no usa más de una o dos aplicaciones por vez. Los dispositivos Android mantendrán abiertas todas las aplicaciones. Esta es la razón de la gran cantidad de RAM en los dispositivos Note y en todos los demás dispositivos principales. Si quieres más detalles, ¡pregúntame eso!

Porque el iOS de Apple está optimizado para ejecutarse en el hardware, que también está diseñado y probado por Apple, y fabricado por los socios fabricantes de Apple.

Android no tiene ese nivel de control porque los desarrolladores de SO de software están separados de los fabricantes de hardware.