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


17

Estoy realmente confundido acerca de la administración de memoria de Android.

Acabo de leer aquí que matar aplicaciones deslizando el dedo de la lista reciente o usando asesinos de tareas no ahorrará su batería, pero agotará más porque esto hace que el sistema operativo cargue las aplicaciones nuevamente la próxima vez que la inicie o inicie por sí mismo. También dijeron que lo que realmente debería preocuparnos es el uso de CPU, no el uso de RAM.

¿Eso significa que usar demasiada RAM no agota la batería? Como la RAM es un hardware, sostener algo no debería agotar la batería. ¿Qué sucede si estaba jugando Temple Run y ​​simplemente presiono el botón de inicio para que la aplicación se cargue más rápido la próxima vez que la inicie? ¿O deberíamos presionar el botón Atrás hasta que la aplicación salga como siempre? También busqué en Internet, pero algunos dijeron que agotaría la batería ya que se encuentra en la RAM, algunos dijeron que no hay diferencia entre la RAM tiene datos reales o nada. ¿Deberíamos abandonar nuestro hábito de matar aplicaciones y simplemente sentirnos relajados?

Algunas respuestas precisas serían muy apreciadas. Gracias. :)


1
Su RAM es una de sus piezas de hardware con menos consumo de energía ...
Brian S

Su ejemplo dirigido por el templo podría no ser el mejor: dado que los juegos pueden agotar la memoria, o serán eliminados por el sistema operativo con bastante rapidez, o de forma proactiva guardarán los datos importantes cuando se envíen a un segundo plano. Es posible que se cargue un poco más rápido en ese caso porque todavía se carga una pequeña parte, pero los datos del juego probablemente deban cargarse de todos modos. Un mejor ejemplo sería un simple cliente de Twitter: que podría caber agradable y acogedor en su RAM hasta que lo necesite de nuevo.
Nanne

Respuestas:


22

Dudo que haya una correlación directa entre el consumo de batería y el uso de RAM. El hardware no sabe qué células RAM contienen datos 'usados' y cuáles no. Por lo tanto, no puede haber diferencia en el consumo de batería en ese nivel.

Pero creo que se podría decir que matar aplicaciones innecesariamente provoca algunos ciclos de CPU adicionales cuando esas aplicaciones deben reiniciarse y, por lo tanto, "usan 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 administrar los recursos del sistema bastante bien y no debería molestarse en matar aplicaciones manualmente. Definitivamente no consumirán más batería si simplemente están inactivos y consumen algo de RAM. Por supuesto, si esas aplicaciones usan constantemente la CPU, agotarán la batería (pero esto generalmente es un signo de un error dentro de la aplicación o una aplicación mal implementada).


Por otro lado, hay aplicaciones que se comportan mal y que se activan y no vuelven a dormir en un período de tiempo razonable. Estas son las aplicaciones que muy probablemente pueden estar causando problemas con la batería. Puedes echarles
Ehtesh Choudhury

Es por eso que dije que las aplicaciones que usan constantemente la CPU generalmente son defectuosas o al menos están mal implementadas. Tenga en cuenta que no recomendaría usar aplicaciones como Wakelock Detector, ya que esta funcionalidad ahora es parte de Android (con 4.4 IIRC).
Flujo

16

Piensa en RAM como un cuaderno de papel. Puede escribir datos en el libro (con un lápiz), y puede borrar esos datos y reemplazarlos con nuevos datos, pero el libro siempre tiene el mismo peso. El libro no se vuelve más pesado, sea lo que sea que escribas en él. Del mismo modo, con la tecnología RAM actual, el uso de la batería de la RAM es fijo, independientemente de qué (si hay algo) almacenado en él.

Desde el punto de vista de Android, no importa si deja una aplicación con el botón de inicio o el botón de retroceso. Al presionar el botón Atrás no se elimina una aplicación ni se la elimina de la RAM. Deslizar una aplicación fuera de la lista de 'aplicaciones recientes' no elimina la aplicación ni la elimina de la RAM. La única diferencia que hace es cambiar lo que la aplicación te muestra la próxima vez que la inicies: la pantalla en la que estabas antes o la pantalla principal / primera de la aplicación.

Imagine que tiene un cuaderno (como antes) y una gran estantería con muchos libros de referencia. No puede llevar consigo los libros de referencia, por lo que si necesita saber sobre un tema, debe copiar la información de un libro de referencia en su pequeño cuaderno. Cuando te quedas sin espacio en el cuaderno, usas tu borrador para borrar información que no necesitas de nuevo, para que puedas copiar más información en él.

Toda esta copia es aburrida. Entonces, una vez que haya copiado alguna información, desea guardarla en su cuaderno durante el tiempo que crea que la necesita. Realiza un seguimiento de qué información en el cuaderno está utilizando en este momento, y qué información usa con frecuencia, y qué información no ha usado durante un tiempo. Cuando quieras hacer espacio, primero borras la información que no has usado por un tiempo. Si no le queda nada de eso, entonces borra alguna información que usa con frecuencia pero no ahora. Solo si estás realmente desesperado por el espacio (tal vez hay un tema importante que ocupa todo el cuaderno) borras la información que estás usando hoy.

Esto es exactamente lo que Android está haciendo con tu RAM. La gran estantería con libros de referencia es como el almacenamiento interno de su teléfono: no puede usarla directamente (porque los libros están impresos, no escritos con lápiz), por lo que es costoso (toma tiempo y energía) copiar datos en su computadora portátil ( RAM) para trabajar.

Una aplicación de administrador de tareas es como un maestro de escuela que cree que su cuaderno se ve desordenado con todas esas páginas de notas que ya no está usando. El maestro de escuela viene de vez en cuando y borra páginas enteras de notas. Esto es innecesario, porque no hace que el libro sea más fácil de transportar: el libro pesa lo mismo independientemente. No solo eso, el maestro de escuela no sabe qué información usa con más frecuencia, puede que tenga una idea vaga, pero no sabe tan bien como usted, así que a veces, cuando borra información, el costo es un viaje adicional a la estantería, que de otro modo no hubieras necesitado.

Pensando en esto de esta manera, es fácil responder a su pregunta. Usar más RAM no usa más energía directamente. Una aplicación de administrador de tareas puede hacer que use más energía, porque tiene que copiar cosas del almacenamiento interno a la RAM que de otro modo no habría tenido. De la misma manera, una sola aplicación que consume RAM necesita dos veces: primero tiene que escribir toda la información de esa aplicación en el cuaderno, y luego, cuando termina con ella, hay mucha información que tuvo que borrar (para hacer espacio), que debe copiar de la estantería nuevamente.


2
Jaja, me gusta la analogía (+1). (Aunque, técnicamente, si escribe algo en el cuaderno, pesará un poco más ... pero soy demasiado crítico). Algo más a tener en cuenta para @MinNaingOo es que, si está ejecutando un Administrador de tareas, eso El Administrador de tareas también está utilizando ciclos de energía (AKA CPU) para hacer lo que necesita hacer. Por lo tanto ... se está utilizando más batería.
JasCav

2
También podría valer la pena mencionar al recolector de basura. Su computadora portátil no solo contiene información que podría necesitar nuevamente. También contiene "basura", información que definitivamente nunca más necesitará. Esto se debe a que Android es perezoso y ni siquiera borra la basura hasta que necesita más memoria. Cuando tiene poca memoria, recogerá esta basura para ahorrar algo de espacio. Si tiene poca memoria a menudo, recogerá la basura con mayor frecuencia y usará más batería.
James_pic

@James_pic De eso se trata el cuarto párrafo. No quiero incluir adicionalmente el GC dentro de la aplicación, ya que es un tema más importante que solo es relevante para los programadores.
Dan Hulme

The only difference it makes is changing what the app shows you next time you launch it- Ehh, mayormente cierto, pero no siempre. "Atrás" le dice a la aplicación, "está bien, ya terminé", por lo que puede hacer una limpieza adicional de inmediato. Un día eliminé mi plan de datos cuando accidentalmente presioné "Inicio" en lugar de "Atrás" de Google Maps: se actualizaba en segundo plano.
Izkata

> Deslizar una aplicación fuera de la lista de 'aplicaciones recientes' no mata la aplicación ni la elimina de la RAM. Esto fue cambiado en las últimas versiones de Android. Ver, por ejemplo: code.google.com/p/android/issues/detail?id=63618
jis

1

Como le explicó el artículo, no importa cuántas cosas se carguen en la RAM, por lo que está completamente bien si no cierra las aplicaciones que están inactivas. Pero si la aplicación realiza alguna actividad constantemente, como sincronizar algunos datos, o descargar o incluso grabar sonido, agotaría la batería, ya que utiliza la CPU, que absorbe la energía de la batería, en ese caso, cerrar las aplicaciones Ser algo bueno a tener en cuenta. De lo contrario, si está seguro de que la aplicación no realizará una actividad constante en segundo plano, entonces no debe preocuparse de que se almacene en la RAM, es lo mismo que almacenar sus archivos en SDCard (quiero decir, SDCard no usar batería, ¿verdad?). Así que relájate :) Supongo que la ejecución del templo no hace ninguna actividad en el fondo, así que no te preocupes por dejarla en el carnero. Espero haberte explicado. ¡Salud!


0

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 importa esto, usa algo como Greenify en lugar de un asesino de tareas.


¿Cuáles son las ventajas de la aplicación de congelación?
Min Naing Oo

1
@MinNaingOo, una aplicación "mala", no puede hacer que un usuario piense que la batería del iPhone está fallando. Así que deteniendo al usuario culpando a Apple.
Ian Ringrose

1
@MinNaingOo Lea este addictivetips.com/android/…
bluehallu

1
@Hallucynogenyc He estado usando Greenify en todos mis dispositivos Android a pesar de que no sabía mucho acerca de sus ventajas. Gracias por el enlace :)
Min Naing Oo


0

Respondiendo a la pregunta del título: "¿Puede usar demasiada RAM agotar la batería?"
(No es su pregunta "real", pero posiblemente útil para otras personas interesadas en el título de las preguntas).

Sí, cuando las aplicaciones o los servicios intentan ejecutar demasiada RAM al mismo tiempo, es posible que el sistema necesite eliminar algunos de ellos con mucha frecuencia, incluso varias veces por segundo, y reiniciarlos tan pronto como sea necesario.
Eso está utilizando muchos ciclos de 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.


-1

Como la RAM principal es dinámica (hecha de capaitors que pierden información), deben actualizarse. Esta actualización toma energía, y un bloque completo (o usado), debería tomar más energía para "recargarse" que una vez que contiene todos los 0 o de alguna manera sabe que no se está usando.

Sin embargo, si esto es realmente notable es para alguien con más conocimientos electrónicos / cómo.

Siempre he notado un mayor uso de la batería en todas las computadoras cuando se usa más RAM, independientemente del nivel de CPU, pero debe haber algunos otros factores en juego aquí.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.