¿Cuál es la forma correcta de cerrar aplicaciones en Android?


69

Soy nuevo en la plataforma Android, y esta es probablemente una pregunta tonta, pero ...

¿Cómo cierras una aplicación?

Cuando estoy en una aplicación y quiero salir, simplemente hago clic en "Inicio" y sigo adelante, pero acabo de instalar una aplicación de Administrador de tareas y noté que todo se está ejecutando.

¿Hay alguna manera de salir de las aplicaciones? ¿O necesito usar el Administrador de tareas cada vez que salgo de algo?


Respuestas:


48

Si sale de la aplicación con el BACKbotón, se activará onDestroy()la Actividad actual.Si la presiona HOMEsolo se llama onPause()
No se preocupe demasiado, las Actividades no agotan la batería, solo quedan en la memoria para que se puedan abrir más rápido en el futuro

No recomendaría usar una de esas aplicaciones asesinas de tareas Android está diseñado para mantener esas cosas en la memoria por una razón, usar un asesino de tareas es solo un servicio adicional más que tira de tu batería. Lo que debes tener en cuenta es Las aplicaciones que ejecutan servicios en segundo plano, como Twitter o clientes de correo electrónico que extraen sus servidores, cualquier buena aplicación que tenga un servicio como ese tendrá una opción para desactivarla.


1
Me he dado cuenta de un par de aplicaciones que no se alimentan a través de una gran cantidad de batería en este estado se detuvo. A saber, la última versión de Google Maps y un juego que tengo llamado GalaxIR. Esté atento a los delincuentes malos y asegúrese de cerrarlos adecuadamente.
keithjgrant

1
está equivocado, si está comiendo su masa que es un servicio de fondo.
Nathan Schwermann

55
De hecho, es posible tener una aplicación que no esté bien desarrollada y que no siga el ciclo de vida de la aplicación de Android. Por ejemplo, un subproceso puede dejarse activo en una actividad incluso después de que el sistema operativo lo haya detenido (presionando Inicio), en este caso la aplicación continuará usando la batería.
jmbouffard

1
He descubierto que muchas aplicaciones no salen cuando presiono el botón Atrás. Por ejemplo: Pandora, G
Clay Nichols

1
(mi tiempo de edición expiró) .... otras aplicaciones que no se cierran en el botón Atrás: Pandora (que incluso continúa reproduciéndose después de presionar Atrás), Google Play Store, FaceBook, Podkicker. La forma en que estoy probando es hacer clic en el botón Atrás hasta que la aplicación desaparezca (por lo general, eso me vuelve a poner en Inicio) y luego ejecutar Easy Task Killer.
Clay Nichols

25

Estoy bastante seguro de que todo lo que he leído dice que el Backbotón es la forma correcta de salir de las aplicaciones.

Al presionarlas Home, se ejecutan en segundo plano hasta que Android decida que ya no son necesarias, lo que puede ser útil si solo necesita cambiar entre aplicaciones para verificar algo (mantener presionado Inicio durante un par de segundos le brinda la lista de aplicaciones que se están ejecutando recientemente puede volver a encender en la mayoría de los teléfonos), pero al salir usando el botón Atrás le dice a la aplicación que desea que se cierre.


3
Manteniendo Homepresionado el botón solo enumere las últimas 6 aplicaciones abiertas, no la que se está ejecutando.

@ Loïc: muestra 8 para mí.
cerveza

1
@LoicWolff, AlEverett Depende del lanzador en cuestión que se use y de la ROM en sí.
t0mm13b

Eso no es del todo cierto. Las actividades no se ejecutan en segundo plano en Android.
Dan Hulme


7

Las actividades no se ejecutan en segundo plano.

En Android, las actividades (es decir, la parte de la aplicación que puede ver) nunca se ejecutan en segundo plano. Solo pueden funcionar (y usar la batería) mientras están en la pantalla. La actividad deja de ejecutarse independientemente de si usa su hogar o su regreso para dejarlo. La única diferencia es qué datos Android le pide a la aplicación que guarde, por lo que ninguna de las opciones es "la forma correcta". Solo depende de lo que quieras hacer.

Casa

Si usa el inicio , Android deja la aplicación en el mismo estado, de modo que si vuelve a ella más tarde (por ejemplo, a través de la lista de aplicaciones recientes), seguirá estando en el mismo estado en que la dejó: en la misma pantalla, con lo mismo que se muestra. Por ejemplo, si se trata de una aplicación de correo electrónico, y estabas mirando un correo electrónico, recordará qué correo electrónico era ese y te mostrará el mismo.

Finalmente (después de aproximadamente media hora), Android concluye que no volverá a la aplicación, por lo que restablece este estado: la próxima vez que inicie la aplicación, comenzará desde la pantalla frontal / principal. Para continuar con el ejemplo, la aplicación de correo electrónico olvidará qué correo electrónico y carpeta estaba mirando y le mostrará la bandeja de entrada.

atrás

Si usa back , le está diciendo a Android que no desea volver a esta vista. Destruirá la información sobre lo que estaba viendo de inmediato. La próxima vez que inicie la aplicación, mostrará la pantalla frontal (por ejemplo, la bandeja de entrada).

Como han dicho otros, las aplicaciones pueden controlar el comportamiento del botón Atrás : por ejemplo, los navegadores web lo usan para volver al historial del navegador. Lo que he descrito es el comportamiento predeterminado del botón Atrás, y se insta a los desarrolladores a mantener el comportamiento de esa manera para evitar confusiones.

Procesos en segundo plano en caché

Independientemente del método que utilice, Android dejará la aplicación en la memoria (pero no se ejecutará) durante el mayor tiempo posible. Esto es para ser más eficiente. Cuando regrese a la aplicación, si todavía está en la memoria, Android puede ejecutarla nuevamente de inmediato; Si todavía no está en la memoria, Android debe gastar tiempo y energía cargando la aplicación desde el almacenamiento nuevamente.

En versiones anteriores de Android, las aplicaciones que quedaban en la memoria en segundo plano de esta manera se incluían en la lista de "aplicaciones en ejecución". Esto es un poco confuso para los usuarios: hace que la gente piense que la aplicación realmente todavía se está ejecutando, por lo que las versiones más recientes llaman a estas aplicaciones "procesos en segundo plano en caché", para dejar en claro que solo están en caché, no en ejecución.

¿Qué pasa con las aplicaciones en segundo plano?

Anteriormente, dije que las actividades no se ejecutan en segundo plano. Entonces, ¿cómo comprueba su cliente de correo electrónico el correo? Además de las actividades, las aplicaciones pueden tener servicios . Los servicios no tienen ninguna GUI para que vea o interactúe, pero se ejecutan en segundo plano. Por lo general, un servicio solo se ejecutará con poca frecuencia, como verificar el correo una vez por hora, pero es posible que el desarrollador de la aplicación ejecute el servicio todo el tiempo, agotando la batería.

Dejar una actividad en la parte posterior o en el hogar no cambia la forma en que Android trata los servicios desde la misma aplicación: el servicio puede continuar ejecutándose o activarse más tarde en un momento dado (la próxima vez que se venza el correo).

Resumen

En resumen, en realidad no importa si lo usas de regreso o en casa : solo cambia lo que la aplicación te muestra la próxima vez que lo ejecutes. No tiene ningún efecto sobre el uso de la batería. Ninguno de ellos corresponde a "salir" de un programa en su PC.


¡Estoy tan contenta de que alguien haya cubierto esto! Soy desarrollador, pero solía trabajar para Verizon Wireless y no puedo decirte cuántas personas estaban preocupadas por esto cuando no era necesario.
Roan el

3

En Android, las aplicaciones nunca necesitan cerrarse y el sistema operativo se encarga de limpiar la memoria de las aplicaciones restantes cuando los recursos se necesitan en otro lugar. El uso de un asesino de tareas simplemente interrumpirá el funcionamiento normal del sistema operativo e incluso podría ralentizar el dispositivo porque las aplicaciones siempre tendrán que volver a cargarse desde el principio.

El ciclo de vida de las aplicaciones de Android funciona de manera que las aplicaciones que no están en la parte superior se mueven en un estado de pausa que ya no usa ninguna CPU; solo se conserva el contenido de la memoria en caso de que la aplicación se abra nuevamente; y la memoria se liberará si es necesario.

Dicho esto, el desarrollador de la aplicación tiene la responsabilidad de seguir el ciclo de vida de la aplicación cuando crea su aplicación, por lo que pueden ocurrir algunos errores o errores que resultarán en una aplicación que realmente nunca se detiene o pausa. Si encuentra dicha aplicación y qué cerrarla, puede hacerlo a través de "Configuración" -> "aplicaciones" -> "Administrar aplicaciones" seleccionando "Forzar detención" en la aplicación.

Pero realmente no recomendaría usar un asesino de tareas que se ejecuta constantemente en el dispositivo.


1

Solo quiero agregar la respuesta de schwiz de que solo se necesitan unas pocas líneas de código para anular la funcionalidad del botón Atrás. Por lo tanto, no siempre es confiable cerrar la aplicación. Entonces, si el desarrollador de la aplicación no quiere cerrar la aplicación al presionar el botón Atrás, no se cerrará.

Aunque la mayoría de los buenos desarrolladores de aplicaciones muestran un cuadro de diálogo de alerta al presionar el botón Atrás en el menú de inicio de la aplicación, preguntando si el usuario tiene la intención de salir de la aplicación o no, si hace clic en Salir, cierra la aplicación.

La respuesta correcta podría ser esta, el cierre de la aplicación está completamente sobre el desarrollador de la aplicación, si quieren que la aplicación se cierre al presionar el botón de inicio, ingresarán el código de salida onPause(). Si lo quieren en el botón Atrás, lo pondrán en el onBackKeyPressed. Por lo tanto, no está realmente en manos del usuario.

El usuario puede evitar el uso de aplicaciones que no proporcionan la funcionalidad de cierre adecuada, cuando no es necesario. Los administradores de tareas no son una buena manera de cerrar la aplicación, ya que puede bloquear la aplicación y no les da la oportunidad de salvar su estado.

El sistema operativo cierra la aplicación cuando es necesario, por lo que no debe preocuparse demasiado por ella.

Editar:
hay una opción para destruir las aplicaciones, tan pronto como salga de la aplicación, es decir, cuando haga clic en la tecla de inicio. Puedes ir a Settings-> Developer Options-> Don't keep Activities. Aunque es una opción de desarrollador, pero si está demasiado preocupado por las aplicaciones que se ejecutan en segundo plano, puede usar esta opción. Pero tenga en cuenta que no se recomienda su uso por personas que no sean desarrolladores.

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.