Desde el punto de vista de los desarrolladores (mi punto de vista):
Las aplicaciones en Android funcionan de una manera específica, todas tienen su propio ciclo de vida, las principales de las que hablamos aquí es cuando la aplicación está en pausa, o detenida (onPause, onStop) y cuando la aplicación es destruida (onDestroy), estos dos estados son sacados a la luz de diferentes maneras, onPause es cuando el usuario ya no puede ver la aplicación, o la pantalla, esto es cuando el usuario pulsa el botón de inicio o hace clic en algo de la pantalla que le lleva a otra pantalla, como pulsar un enlace por ejemplo, todavía existe la posibilidad de que necesite esta pantalla, por ejemplo cuando pulsa el botón de retorno para volver a la pantalla, todavía lo quiere en el mismo estado, por lo que la aplicación sigue abierta y esperando a que vuelva.
El otro estado, cuando la aplicación es destruida, puede suceder de tres maneras, en primer lugar el desarrollador puede añadir algo para cerrar la aplicación automáticamente, por ejemplo la aplicación Endomondo puede presionar menú > salir, esto "cerrará" la aplicación y ya no estará en la memoria. La siguiente forma es que el usuario presione de nuevo sobre ella, ya que no hay forma de volver a la pantalla exacta (por ejemplo, no se puede presionar hacia adelante para llegar a ella), por lo que la aplicación ya no es necesaria, por lo que se cierra.
La tercera forma en que se destruye una aplicación, o se cierra, es cuando Android necesita más memoria, cuando esto sucede se limpian las aplicaciones que no han tenido interacción por más tiempo. Android hace esto por sí mismo, si necesita más memoria la obtendrá.
Así que dejar las aplicaciones abiertas no es una mala idea, sin embargo algunas aplicaciones pueden usar mucha potencia de la CPU y no memoria cuando están en segundo plano, si crees que esto va a suceder deberías cerrarlo tú mismo, Android debería ser capaz de recoger esto sin embargo
Echa un vistazo aquí a los estados de una actividad, o una pantalla:
EDITAR:
- Presionando hacia atrás en una pantalla: Actividad destruida (
onPause > onStop > onDestroy
)
- Descartar la aplicación en las aplicaciones recientes: Actividad destruido (
onPause > onStop > onDestroy
)
- Presionando a casa: Aplicación guardado en la memoria, sólo si el desarrollador no ha añadido un auto-cerrado característica (
onPause > onStop
)
- Navegando lejos de la aplicación, el enlace, etc: Aplicación guardada en la memoria, como arriba (
onPause > onStop
)