¿Cómo afectan la RAM y la velocidad del procesador al rendimiento general en Android?

Dado que Android se puede instalar en una amplia gama de dispositivos, me pregunto qué tan importantes son la RAM y la velocidad de la CPU para el rendimiento de un dispositivo. ¡Siempre hay compensaciones cuando algo aumenta y otro disminuye!

¿Es más RAM o un procesador más rápido mejor para la navegación general y menos tareas múltiples? ¿Qué pasa si estoy interesado en jugar o hacer muchas cosas a la vez? ¿Más RAM compensará un procesador más lento o viceversa?

Por cierto: recuerda que el reloj de la CPU no es lo mismo que la velocidad de la CPU. Las métricas más útiles del reloj de la CPU son Mflops, millones de instrucciones por segundo (MIPS), etc. La diferencia entre Mflops y MIPS se puede ver en algunas optimizaciones (por ejemplo, optimizaciones JIT), porque algunos procesadores tienen instrucciones especiales que le permiten calcular mote a la vez. . Sin embargo, no se aplican en código nativo a menos que la aplicación se haya compilado con soporte de estas instrucciones.

Respuestas (4)

En el contexto de Android, más RAM significa que Android puede mantener más programas inactivos en la RAM para que estén listos para reanudarse rápidamente cuando regrese a las aplicaciones. Más RAM significa que Android pasará menos tiempo matando y recargando aplicaciones desde la memoria interna/tarjeta SD, y en su lugar pasará más tiempo haciendo el trabajo real que le interesa. Esto significa que más RAM generalmente le brinda un cambio de tareas mejor/más rápido. Además, más RAM significa que es menos probable que su pantalla de inicio se elimine; y no experimentará esa espera de 10 segundos que se siente como una eternidad. Tener más RAM también le permite ejecutar aplicaciones complejas que naturalmente requieren mucha memoria, por ejemplo, editor de fotos/video, juegos complejos, etc.

Una CPU más alta puede calcular las cosas mucho más rápido, aunque esto puede parecer tentador al principio, es notable que la mayoría de los programas, excepto los juegos y los puntos de referencia sintéticos y posiblemente las páginas web con mucho flash, están vinculados a E/S y no a la CPU. -ligado; en otras palabras, la mayoría de los programas esperan que finalice la transmisión de red, las lecturas de almacenamiento flash, las lecturas de DMA, el procesamiento de eventos táctiles, etc., en lugar de esperar algunos cálculos. En aplicaciones vinculadas a la CPU, aumentar la velocidad de la CPU puede significar una menor latencia entre tocar la pantalla y actualizar la pantalla para reflejar el evento táctil. Sin embargo, hasta cierto punto, ya no habrá ningún beneficio notable de agregar aún más CPU; más allá de cierto punto, el tiempo de respuesta de entrada será mucho más rápido que el tiempo de respuesta de nuestro propio cerebro (aprox. 100-200ms) y no podremos percibir el beneficio de agregar una CPU aún más rápida. Además, tenga en cuenta que el tiempo de respuesta de entrada a salida depende de una gran cantidad de otros factores, por ejemplo, la latencia de los cables, la velocidad del bus, etc. En segundo lugar, tener algo de tiempo de CPU adicional también significa que Android puede asignar esos ahorre ciclos de CPU para procesos en segundo plano, por lo que los procesos en segundo plano pueden ejecutarse mejor.

Resumen

Más RAM:

  • mejor cambio de tareas
  • puede ejecutar aplicaciones más complicadas o abrir archivos más grandes o complejos

Más CPU:

  • cambio más rápido entre la entrada y la respuesta (menos retraso) en aplicaciones vinculadas a la CPU
  • mejor procesamiento en segundo plano

En resumen, ambos son igualmente importantes; su propio patrón de uso personal determinará cuál es más valioso para usted. Si generalmente permanece en un solo programa y es sensible a la latencia de entrada a salida, entonces tener una CPU más rápida será más valioso para usted; si cambia constantemente de tarea entre muchas aplicaciones diferentes o si necesita ejecutar aplicaciones complejas que consumen mucha memoria para abrir archivos grandes y complejos, entonces tener RAM adicional será más valioso para usted.

Buen trabajo Mentira... la mejor respuesta hasta ahora.

Bueno, esto es muy subjetivo, porque depende de lo que estés haciendo.

En primer lugar, la verdadera multitarea ( ejecutar múltiples aplicaciones ) requiere una CPU más rápida, para que todos los procesos puedan ejecutarse a una velocidad decente. Tienes razón en que para que todas estas aplicaciones permanezcan en la memoria, necesitas más RAM.

Tengo 512 MB de RAM, y mis procesos solo comienzan a morir si ejecuto algo que usa una tonelada como Angry Birds. Por otro lado, tengo un procesador de 1 GHz y nunca noto ralentizaciones independientemente de lo que esté haciendo (aparte de que Angry Birds se atasca durante las reproducciones largas).

Si usa correo electrónico, Twitter, Facebook, web, etc., entonces probablemente quiera más RAM. Si quieres jugar, entonces necesitas una cantidad decente de RAM, pero el procesador y el chip gráfico serán más importantes. En general.

Otra consideración importante es la velocidad de E/S. Si tiene un teléfono Samsung que usa RFS, instale un lagfix EXT4: notará una gran mejora. Si está grabando video HD, es posible que desee una tarjeta SD más rápida (tenemos preguntas al respecto), y así sucesivamente.

El tamaño del almacenamiento no está relacionado en gran medida con el rendimiento, pero también querrá tenerlo en cuenta. Muchos usuarios se dan una patada después de instalar algunas aplicaciones y descubrir que se han quedado sin espacio. Recomiendo encarecidamente un dispositivo como mi Vibrant, que tiene un almacenamiento interno (sistema+datos) excesivo de 2 GB (y SD interna de 14 GB, más la tarjeta SD externa).

Edité mi pregunta para que sea menos subjetiva.
La mayoría de las veces no somos verdaderamente "multitarea". Es posible que tengamos varias aplicaciones ejecutándose, pero las aplicaciones que se ejecutan en segundo plano generalmente no están haciendo nada activamente, por lo que el problema principal es mantenerlas abiertas, lo que requiere memoria. Si se están ejecutando activamente, por ejemplo, escuchando transmisión de medios y navegando por Internet o jugando, diría que la velocidad del procesador es más importante (dentro de los estándares normales de hardware, obviamente tener un procesador rápido no tiene sentido si tiene 1 kb de RAM ).
Matt, iba a escribir algo similar. Sin embargo, creo que las tareas en segundo plano no suelen hacer un uso intensivo de la CPU. Pueden usar algo de E/S y pueden ser intensivos en E/S en algunos casos (por ejemplo, descargar archivos, copiar archivos), pero parece poco probable que hagan un uso intensivo de la CPU. Entonces, como se mencionó en otra publicación, la CPU es probablemente más importante para tareas individuales intensivas (por ejemplo, juegos) y la RAM es más importante para el cambio intensivo de tareas.
Bueno, los reproductores de música son una excepción: pueden hacer un uso intensivo de la CPU y es probable que se ejecuten en segundo plano.
@v6ak: una aplicación en segundo plano intensiva de E/S puede potencialmente perturbar la E/S del primer plano y en aplicaciones mal escritas (por ejemplo, aplicaciones que realizan E/S en el subproceso de la interfaz de usuario), esto también puede ser una causa de poca capacidad de respuesta o retraso , no sé si Android prioriza la E/S de primer plano, aunque creo que sí.
@Lie Ryan: Estoy de acuerdo, pero esto no está muy relacionado con la pregunta de RAM frente a CPU. Bueno, lo es. Significa que ni la RAM ni la CPU son siempre el cuello de botella.

En un teléfono, la mayoría de los programas que utilizará son correo electrónico, mensajería instantánea, navegador web, ...

Este tipo de aplicaciones no necesita una CPU potente, pero dado que usará un teléfono Android, ejecutará varias aplicaciones al mismo tiempo, lo que necesita un poco más de tiempo de CPU, pero lo que es más importante, necesita suficiente memoria RAM para acomodar todas las aplicaciones.

Así que, más que uno u otro, lo importante en el equilibrio de un teléfono Android. Con una CPU de 2 GHz y 512 MB de RAM, desperdiciará la potencia de la CPU porque el teléfono no tendrá suficiente memoria para acomodar suficientes aplicaciones para consumir esa cantidad de ciclos de CPU. Lo mismo ocurre con una CPU de 500Mhz y 2Gb o RAM, el procesador no tendrá suficientes ciclos para ejecutar suficientes aplicaciones para consumir esa cantidad de RAM.

Así que el EQUILIBRIO es lo que hay que tener en cuenta . Una CPU a 1Ghz con 512 a 1Gb de RAM es una gran combinación. Lo mismo ocurre con un 600Mhz con 256Mb a 512Mb (un poco de poca potencia para las versiones recientes de Andorid), o para una nueva CPU de dos núcleos de 1Ghz con 712Mb o más de RAM.

Teniendo en cuenta estas consideraciones, mi recomendación será buscar un teléfono con una CPU de 1 Ghz o más y 1 Gb o más de RAM, este teléfono será lo suficientemente potente como para ejecutar todas las aplicaciones que necesitará en los próximos 2 años, que es el período máximo de tiempo que estará usando el teléfono dando la tasa de evolución de la tecnología móvil.

... a costa de tu hijo primogénito; en ciertas áreas del mundo, por lo menos.
@Lie Ryan, cierto, pero lamentablemente este es el precio de tener el último dispositivo.

En realidad, es el ancho de banda de la memoria lo que más limita. En segundo lugar, un buen equilibrio en especificaciones, incluido el tamaño de RAM, la velocidad del procesador y el paralelismo.