Que se passe-t-il exactement lorsque vous faites glisser une application Android dans la liste des applications récentes?

Table des matières:

Que se passe-t-il exactement lorsque vous faites glisser une application Android dans la liste des applications récentes?
Que se passe-t-il exactement lorsque vous faites glisser une application Android dans la liste des applications récentes?

Vidéo: Que se passe-t-il exactement lorsque vous faites glisser une application Android dans la liste des applications récentes?

Vidéo: Que se passe-t-il exactement lorsque vous faites glisser une application Android dans la liste des applications récentes?
Vidéo: Windows 10 / Session Administrateur Bloquée ! JAMESGVP - YouTube 2024, Avril
Anonim
Lorsque vous faites glisser une application de votre liste d'applications Android en cours d'exécution, qu'advient-il exactement de l'application et des données? Continuez à lire pendant que nous enquêtons.
Lorsque vous faites glisser une application de votre liste d'applications Android en cours d'exécution, qu'advient-il exactement de l'application et des données? Continuez à lire pendant que nous enquêtons.

La séance de questions et réponses d’aujourd’hui nous parvient grâce à Android Enthusiast, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté.

La question

Le lecteur Android Enthusiast Eldarerathis est curieux de connaître la fonctionnalité de glissement d'application qui vous permet d'afficher votre liste d'applications en cours d'exécution via le bouton d'accueil, puis de les faire glisser vers la droite, probablement pour les fermer:

The recent apps list in Ice Cream Sandwich added the ability to swipe apps out of the list, thereby dismissing them permanently (and as far as I know this is a vanilla function, not a CM/custom ROM one). The documentation and platform highlights don’t appear to cover the under-the-hood workings of this functionality, but I’m curious to know what the system is actually doing.

Further adding to my curiosity, I decided to do a quick test: I started up Music on a CM9 install, then backed out of it. I then checked the recent apps list and saw it was indeed there (and in the proper state, based on the thumbnail). I then went into

Settings->Applications

et la force a arrêté l'application Musique, mais elle figurait toujours dans la liste récente, ce qui me porte à penser qu'elle n'est pas liée à des processus en arrière-plan.

Réalisant maintenant que la musique était peut-être un mauvais choix, j'ai également testé l'application USA Today. Cela présentait fondamentalement le même comportement, et il semblait qu’il avait été forcé de «redémarrer» après l’arrêt forcé (ce qui est logique) bien que la vignette dans la liste des applications récentes ne reflète pas cela (mis en cache, je devine?).

Alors, que se passe-t-il réellement au niveau du système d'exploitation lorsque vous faites glisser une application hors de la liste récente? Dégage-t-il simplement les données de l’application de la RAM et les récupère, détruisant ainsi son état sauvegardé?

Que se passe-t-il exactement lorsque vous faites glisser l'application de la liste?

Les réponses

Austin Mills, contributeur Android enthousiaste, offre quelques idées:

Supprimer des applications de la liste des applications récentes est une vanille, et oui, cela n’est pas bien documenté. Cela a fait l’objet de nombreuses discussions sur divers forums Android… le consensus semble être mieux décrit ici dans certains commentaires: que le comportement est similaire à la fermeture d’une application, mais pas exactement la même chose - en général (pour les applications qui ne définissez pas explicitement la gestion des boutons de retour), c’est la même chose que de revenir suffisamment de temps dans une application pour en sortir.

Le lien contient des informations plus détaillées sur les détails, mais dans l’ensemble, vous pouvez penser qu’il s’agit de quitter l’application.

En ce qui concerne l’application Musique, je pense qu’il démarre un service. Ainsi, même si la tâche elle-même (l’application Musique / l’interface utilisateur) est fermée, le service continue de s’exécuter en arrière-plan, de sorte que votre musique ne s’arrête pas soudainement simplement à cause de la tâche. s'est effacé pour des raisons de gestion de la mémoire. Cela a peut-être affecté ce que vous avez vu.

Puis, participant au cercle de questions-réponses de la vie, Eldarerathis est revenu avec quelques recherches personnelles pour compléter la réponse:

I appear to have found the magical search terms that led to some explanations from Google employees. Specifically, I found a couple of different places where Dianne Hackborn explains what happens when you swipe something out of the recent list. The first is a comment on one of her Google+ posts:

[W]hat specifically happens when you swipe away a recent task is it: (1) kills any background or empty processes of the application (see here for what this means), and (2) uses the new API to tell any services of the application about the task being removed so it can do whatever it thinks is appropriate.

She also notes in a blog comment:

Actually, removing an entry in recent tasks will kill any background processes that exist for the process. It won’t directly causes services to stop, however there is an API for them to find out the task was removed to decide if they want this to mean they should stop. This is so that removing say the recent task of an e-mail app won’t cause it to stop checking for e-mail.

If you really want to completely stop an app, you can long press on recent tasks to go to app info, and hit force stop there. Force stop is a complete kill of the app - all processes are killed, all services stopped, all notifications removed, all alarms removed, etc. The app is not allowed to launch again until explicitly requested.

So, it looks like the summary is that swiping an app out of the list will first kill all background processes for the app, then use

onTaskRemoved

pour notifier à l'application que la tâche en arrière-plan a été supprimée. À ce stade, il semble que c’est à l’application de décider de ce qui se passera, alors je suppose qu’il existe techniquement n'est pas une règle stricte sur ce qu'il advient de l'application au-delà de ce point.

Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.

Conseillé: