9Aug

¿Qué sucede exactamente cuando desliza una aplicación de Android desde la lista de aplicaciones recientes?

click fraud protection

Cuando desliza una aplicación fuera de su lista de aplicaciones actualmente en ejecución de Android, ¿qué ocurre exactamente con la aplicación y los datos? Sigue leyendo mientras investigamos.

Pregunta de hoy &La sesión de respuesta nos llega por cortesía de Android Enthusiast, una subdivisión de Stack Exchange, una agrupación de sitios web Q & A dirigida por la comunidad.

La Pregunta

El lector entusiasta de Android Eldarerathis siente curiosidad acerca de la funcionalidad de deslizar la aplicación que le permite desplegar su lista de aplicaciones en ejecución mediante el botón de inicio y luego deslizarlas hacia la derecha, presumiblemente para cerrarlas:

La lista de aplicaciones recientes enIce Cream Sandwich agregó la capacidad de deslizar las aplicaciones fuera de la lista, descartándolas permanentemente( y hasta donde sé, esto es una función estándar, no una ROM CM / personalizada).Los aspectos más destacados de la documentación y la plataforma no parecen cubrir el funcionamiento bajo esta función, pero tengo curiosidad por saber qué está haciendo realmente el sistema.

instagram viewer

Además de mi curiosidad, decidí hacer una prueba rápida: inicié Music en una instalación de CM9 y luego me retiré.Luego revisé la lista de aplicaciones recientes y vi que estaba allí( y en el estado correcto, según la miniatura).Luego entré en Settings- & gt; Applications y forcé la aplicación de música, pero aún aparecía en la lista reciente, lo que me llevó a pensar que no está conectado a procesos que permanecen en segundo plano.

Al darme cuenta ahora de que la música puede haber sido una mala elección, también probé con la aplicación USA Today. Esto exhibió básicamente el mismo comportamiento, y parecía que se vio forzado a "relanzar" después de la parada forzada( lo que tiene sentido) aunque la miniatura en la lista de aplicaciones recientes no reflejaba esto( en caché, supongo?).

Entonces, ¿qué sucede realmente en el nivel del sistema operativo cuando desliza una aplicación fuera de la lista reciente?¿Simplemente borra los datos de la aplicación de la RAM y los recoge basura, destruyendo su estado guardado?

¿Qué ocurre exactamente cuando deslizas la aplicación fuera de la lista?

El colaborador de Answers

Entusiasta de Android Austin Mills ofrece algunas ideas:

Deslizar aplicaciones fuera de la lista de aplicaciones recientes es vainilla, y sí, no está bien documentado. Este ha sido el tema de una cantidad decente de discusión en varios foros de Android. .. el consenso parece estar mejor descrito aquí en algunos comentarios: que el comportamiento es similar, pero no exactamente igual al cierre de una aplicación, en general( para aplicaciones queno define el manejo explícito del botón de retroceso) es lo mismo que retroceder las veces suficientes desde dentro de una aplicación que salga de ella.

El enlace contiene más detalles sobre los detalles, pero en general se puede considerar que se está abandonando la aplicación.

Específico para la aplicación de Música, creo que inicia un servicio, por lo que aunque la tarea en sí misma( la aplicación de Música / IU) puede cerrarse, el servicio continúa ejecutándose en segundo plano para que su música no se detenga repentinamente solo porque ella tarea se borró por razones de administración de memoria. Eso puede haber afectado lo que viste.

Luego, participando en el círculo de preguntas y respuestas de la vida, Eldarerathis regresó con algunas investigaciones propias para completar la respuesta:

Parece que encontré los términos de búsqueda mágica que dieron lugar a algunas explicaciones de los empleados de Google. Específicamente, encontré un par de lugares diferentes en los que Dianne Hackborn explica qué pasa cuando sacas algo de la lista reciente. El primero es un comentario en una de sus publicaciones de Google+:

[W] que ocurre específicamente cuando se desliza una tarea reciente si:( 1) elimina cualquier fondo o procesos vacíos de la aplicación( ver aquí lo que esto significa),y( 2) usa la nueva API para indicarle a cualquier servicio de la aplicación acerca de la tarea que se está eliminando para que pueda hacer lo que considere apropiado.

También anota en un comentario de blog:

En realidad, eliminar una entrada en tareas recientes eliminará cualquier proceso en segundo plano que exista para el proceso. No hará que los servicios se detengan directamente, sin embargo, hay una API para que descubran que la tarea se eliminó para decidir si quieren que esto signifique que deben detenerse. Esto es para que la eliminación indique que la tarea reciente de una aplicación de correo electrónico no hará que deje de buscar correo electrónico.

Si realmente desea detener completamente una aplicación, puede presionar las tareas recientes para acceder a la información de la aplicación, y presionar forzar para allí.La detención forzada es una eliminación completa de la aplicación: todos los procesos se cancelan, todos los servicios se detienen, todas las notificaciones se eliminan, todas las alarmas se eliminan, etc. La aplicación no puede volver a iniciarse hasta que se solicite explícitamente.

Por lo tanto, parece que el resumen es que deslizar una aplicación fuera de la lista primero matará a todos los procesos en segundo plano para la aplicación, luego utilizará en la tareaTaskRemoved para notificar a la aplicación que se eliminó la tarea de fondo. En ese punto, parece que depende de la aplicación decidir qué sucede, así que supongo que técnicamente no es una regla rígida sobre lo que le sucede a la aplicación más allá de ese punto.

¿Tiene algo que agregar a la explicación? Suena apagado en los comentarios.¿Desea leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Mira el hilo de discusión completo aquí.