17 votos

¿Cómo afecta el uso de la RAM al consumo de la batería?

Estoy muy confundido sobre la gestión de la memoria de Android.

Acabo de leer aquí que matar las aplicaciones deslizándolas desde la lista de recientes o utilizando los eliminadores de tareas no ahorra la batería, sino que la drena más porque esto hace que el sistema operativo cargue las aplicaciones de nuevo la próxima vez que se inicie o se ponga en marcha por sí mismo. También dijeron que lo que realmente debería preocuparnos es el uso de la CPU, no el uso de la RAM.

¿Significa eso que usar demasiada RAM no consume la batería? Como la RAM es un hardware, ¿mantener algo en ella no debería agotar la batería? ¿Qué pasa si estoy jugando a Temple Run y simplemente pulso el botón de inicio para que la aplicación se cargue más rápido la próxima vez que la inicie? ¿O simplemente hay que pulsar el botón de retroceso hasta que salga la aplicación como hacemos siempre? También he buscado en Internet, pero algunos dijeron que drenaría la batería, ya que se encuentra en la memoria RAM, algunos dijeron que no hay diferencia entre la RAM mantiene los datos reales o nada. ¿Debemos dejar de lado nuestro hábito de matar aplicaciones y simplemente sentirnos relajados?

Se agradecerían algunas respuestas precisas. Gracias. :)

1 votos

Su memoria RAM es uno de sus menos piezas de hardware hambrientas de energía...

0 votos

Tu ejemplo de ejecución en el templo podría no ser el mejor: como los juegos pueden ser hambrientos de memoria, o bien serán eliminados por el sistema operativo con bastante rapidez, o bien guardarán proactivamente los datos importantes cuando se envíen al fondo. Puede que se cargue un poco más rápido en ese caso porque una pequeña parte todavía está cargada, pero los datos del juego probablemente tendrán que cargarse de todos modos. Un mejor ejemplo sería un simple cliente de Twitter: que podría caber agradable y cómodamente en su RAM hasta que lo necesite de nuevo.

22voto

Flow Puntos 14132

Dudo que haya una correlación directa entre el consumo de la batería y el uso de la RAM. El hardware no sabe qué celdas de la RAM contienen datos "usados" y cuáles no. Así que no puede haber ninguna diferencia en el consumo de la batería en ese nivel.

Pero creo que se podría decir que matar innecesariamente las Apps provoca unos cuantos ciclos de CPU extra cuando esas Apps tienen que ser reiniciadas y, por tanto, "consume más batería".

Y sí, definitivamente deberías dejar tu hábito de matar aplicaciones. En la mayoría de los casos, Android es capaz de gestionar los recursos del sistema bastante bien y no deberías molestarte en matar manualmente las aplicaciones. Definitivamente no van a drenar más batería si sólo están inactivos y consumen algo de RAM. Por supuesto, si esas aplicaciones están constantemente utilizando la CPU, van a drenar la batería (pero esto suele ser un signo de un error dentro de la aplicación o una aplicación mal implementada).

0 votos

Por otro lado, hay aplicaciones que se comportan mal y se despiertan y no vuelven a dormir en un tiempo razonable. Estas son las aplicaciones que muy probablemente pueden estar causando problemas de batería. Puedes echarles un vistazo usando Detector Wakelock

0 votos

Por eso dije que las Apps que usan constantemente la CPU suelen ser defectuosas o al menos mal implementadas. Ten en cuenta que no recomendaría usar apps como Wakelock Detector ya que esta funcionalidad es ahora parte de Android (con 4.4 IIRC).

16voto

Andy Brudtkuhl Puntos 1714

Piensa en la RAM como en un cuaderno de papel. Puedes escribir datos en el libro (con un lápiz), y puedes borrar esos datos y sustituirlos por otros nuevos, pero el libro siempre pesa lo mismo. El libro no pesa más, escribas lo que escribas en él. Del mismo modo, con la tecnología actual de la RAM, el uso de la batería de la RAM es fijo, independientemente de lo que se almacene en ella (si es que se almacena algo).

Desde el punto de vista de Android, no importa si se sale de una aplicación con el botón de inicio o con el de retroceso. Pulsar el botón de retroceso no mata una aplicación ni la elimina de la RAM. Deslizar una aplicación fuera de la lista de "aplicaciones recientes" no mata la aplicación ni la elimina de la RAM. La única diferencia es que cambia lo que la aplicación muestra la próxima vez que la inicias: la pantalla en la que estabas antes, o la pantalla principal/primera de la aplicación.

Imagina que tienes un cuaderno (como antes) y una gran estantería con muchos libros de referencia. No puedes llevar los libros de referencia contigo, así que si necesitas saber sobre un tema, tienes que copiar la información de un libro de referencia en tu pequeño cuaderno. Cuando te quedas sin espacio en el cuaderno, utilizas la goma de borrar para borrar la información que no necesitas de nuevo, y así poder copiar más información en él.

Toda esta copia es cansina. Por eso, una vez que has copiado una información, quieres mantenerla en tu cuaderno durante todo el tiempo que creas que la vas a necesitar. Lleva la cuenta de qué información del cuaderno estás utilizando ahora mismo, y qué información utilizas a menudo, y qué información no has utilizado durante un tiempo. Cuando quieras hacer espacio, primero borra la información que hace tiempo que no utilizas. Si no te queda nada de eso, entonces borras la información que usas a menudo pero no en este momento. Sólo si estás realmente desesperado por conseguir espacio (tal vez hay un tema importante que ocupa todo el cuaderno), borras la información que utilizas hoy.

Esto es exactamente lo que Android está haciendo con su memoria RAM. La gran estantería con libros de referencia es como el almacenamiento interno de tu teléfono: no puedes usarlo directamente (porque los libros están impresos, no se escriben con lápiz), así que es costoso (lleva tiempo y energía) copiar los datos en tu portátil (RAM) para trabajar en ellos.

Una aplicación de gestión de tareas es como un profesor de escuela que piensa que tu cuaderno está desordenado con todas esas páginas de notas que ya no utilizas. El profesor viene de vez en cuando y borra páginas enteras de notas. Esto es innecesario, porque no hace que el cuaderno sea más fácil de transportar: el cuaderno pesa lo mismo. Y no sólo eso, el profesor de la escuela no sabe qué información utilizas más a menudo -puede que tenga una vaga idea, pero no lo sabe tan bien como tú-, así que a veces, cuando borra información, el coste es un viaje extra a la estantería, que de otro modo no habrías necesitado.

Pensándolo así, es fácil responder a tu pregunta. Usar más RAM no consume más energía directamente. Una aplicación de gestión de tareas puede hacer que uses más energía, porque tienes que copiar cosas del almacenamiento interno a la RAM que no tendrías que hacer de otro modo. Del mismo modo, una sola aplicación que consuma mucha RAM te cuesta dos veces: primero tienes que escribir toda la información de esa aplicación en la libreta, y luego, cuando terminas con ella, hay un montón de información que has tenido que borrar (para hacer espacio), que tienes que volver a copiar de la libreta.

2 votos

Jaja, me gusta la analogía (+1). (Aunque, técnicamente, si escribes algo el cuaderno pesará sólo un poco más... pero estoy siendo demasiado crítico). Otra cosa a tener en cuenta para @MinNaingOo es que, si estás ejecutando un Administrador de Tareas, ese Administrador de Tareas también está utilizando ciclos de energía (AKA CPU) para hacer lo que tiene que hacer. Por lo tanto... se está utilizando más batería.

2 votos

También vale la pena mencionar el recolector de basura. Tu cuaderno no sólo contiene información que podrías volver a necesitar. También contiene "basura" - información que definitivamente no volverás a necesitar. Esto se debe a que Android es perezoso, y no borra la basura hasta que necesita más memoria. Cuando la memoria sea escasa, recogerá esta basura para ahorrar espacio. Si tienes poca memoria a menudo, entonces recogerá la basura más a menudo, y utilizará más batería.

0 votos

@James_pic A eso se refiere el cuarto párrafo. No quiero meter adicionalmente la GC dentro de la aplicación, ya que ese es un tema más amplio y sólo relevante para los programadores.

1voto

Ilo Puntos 31

Como se explica en el artículo, no importa la cantidad de cosas que se carguen en la RAM, así que no pasa nada si no cierras las aplicaciones que están en reposo. Pero si la aplicación hace constantemente alguna actividad, como sincronizar algunos datos, o descargar, o incluso grabar sonido, drenaría tu batería, porque utiliza la CPU, que chupa la energía de tu batería, en ese caso, cerrar las aplicaciones sería algo bueno a considerar. Por otra parte, si estás seguro de que la aplicación no va a realizar una actividad constante en segundo plano, entonces no debes preocuparte de que se almacene en la RAM, es lo mismo que almacenar tus archivos en la SDCard (quiero decir que la SDCard no consume batería, ¿verdad?). Así que relájate :) Supongo que temple run no hace ninguna actividad en segundo plano, así que no te preocupes por dejarlo en la ram. Espero haberte explicado. ¡Saludos!

0voto

Hallucynogenyc Puntos 101

Hay una gran diferencia entre iOS y Android. iOS congela las aplicaciones, Android no. La lógica que explica en ese artículo no se puede aplicar a Android, donde algunas aplicaciones agotan la batería mientras están en segundo plano. Si te preocupa esto, utiliza algo como Greenify en lugar de un task killer.

0 votos

¿Qué ventajas tiene la aplicación de congelación?

0 votos

Si he entendido bien, una aplicación de Android sólo utilizará ciclos de CPU cuando no esté activa si se supone que como una aplicación de noticias que carga nuevos artículos en segundo plano

1 votos

@MinNaingOo, Una aplicación "mala", no puede hacer pensar a un usuario que la batería del iPhone está fallando. Así que dejar de culpar al usuario de Apple.

0voto

Volker Siegel Puntos 113

Respondiendo a la pregunta del título: "¿Puede el uso de demasiada RAM agotar la batería?"
(No es su pregunta "real", pero posiblemente sea útil para otros interesados en el título de la pregunta).

Sí, cuando se utiliza demasiada RAM por aplicaciones o servicios que intentan ejecutarse al mismo tiempo, el sistema puede necesitar matar a algunos de ellos con mucha frecuencia, incluso varias veces por segundo, y reiniciarlos en cuanto los necesite otra cosa.
Eso es usar muchos ciclos de la CPU, y por lo tanto algo de capacidad de la batería.

Tenga en cuenta que no es un caso normal, como "no matar algunas aplicaciones manualmente", es un estado "muy roto" - pero he visto que sucede, parece estar relacionado con muchos servicios que interfieren y compiten por la memoria.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X