Dans l’article précédent, nous avons vu comment fonctionne la navigation sous Nodo. Mango va indirectement changer le mécanisme de celle-ci, indirectement car le changement sera la conséquence d’une nouvelle fonctionnalité de mango : le multi-tâche.
Le multi-tâche sous mango
Nous n’allons par aborder ici les background tasks, ni même des mécanismes de fonctionnement du multi-tâche ou de sa gestion des contextes. Nous allons plutôt aborder la possibilité pour l’utilisateur de retourner dans une de ces précédentes applications ouverte et gardée en mémoire.
Si on appuie sur la touche « précédent » de son téléphone, un utilisateur à la possibilité de visualiser la liste des applications encore en mémoire, c’est à dire que si je lance l’appliation TVShow et que je fais plusieurs fois « précédent » jusqu’à en sortir, l’application ne sera pas visible, mais si je sors de l’application via le bouton home ou recherche, celle-ci apparaitra.
Dans cette logique, on oublie totalement l’analogie d’une ligne droite représentant l’historique avec la possibilité d’avancé ou de reculer d’un cran car on donne ici la possibilité à l’utilisateur d’aller directement à un endroit précis de l’historique.
L’ordre des applications
Si je lance dans l’ordre les applications A, B C et D et que je reviens grâce à un appuie long sur « précédent » à l’application B et que je fasse plusieurs précédents jusqu’à en sortir, sur quelle application vais je tomber ? Une logique « navigateur internet » voudrait que je retourne à l’application A. Toutefois, nous sommes dans un contexte de multi-tâche, pas d’historique web, le choix a donc été fait de retourner à la dernière instance d’application lancée.

Analogie
Comme pour nodo, nous allons nous baser sur une analogie pour mieux comprendre le fonctionnement. On va cette fois prendre comme référentielle les applications et non les « pages » comme précédemment pour simplifier les choses.
Mango est un lecteur DVD (pour faire plaisir à David Catuhe), accompagné d’un côté d’une bibliothèque de DVD avec leurs jaquettes, correspondant à la liste de vos applications, et à droite une pile de disques correspondant aux instances des applications que vous avez lancées (si on veut aller plus loin, le marketplace est amazon).
Lorsque l’on souhaite lire un DVD (lancer une application), on la cherche dans nos DVD (applications), on prend le disque dans la jaquette (on lance l’instance) et on le place au sommet de notre pile de disques en cours. Si jamais le disque n’était pas présent dans la jaquette, c’est qu’il est dans la pile de disques, on le retire alors de la pile et on le remet dans sa jaquette (on détruit l’instance précédente) avant de le reprendre pour le remettre dans la pile (nouvelle instance).
On a donc toujours une liste de disques dans l’ordre décroissant de dernière utilisation.
Si jamais on ne veut plus du disque courant (on sort de l’application via la touche précédente), on enlève le disque de la pile et on le range (on supprime son instance), le nouveau disque au sommet devenant alors le disque (l’application) courant. Enfin, si je souhaite retourner à un disque déjà dans la pile (à une instance d’application en mémoire), je prend le DVD et le place en tête.
L’ordre des applications
Cette analogie répond donc à plusieurs question :
- il est impossible d’avoir deux fois la même application dans la liste des instances
- si on sort d’une application, c’est la dernière application lancée qui prend sa place
- si on retourne via le multi-tâche dans une ancienne application, on ne fait que de la mettre au sommet de la pile
- si lance une application qui était déjà en mémoire via la liste des applications, on supprime son instance pour en créer une nouvelle au sommet de la pile
Gestion de la mémoire
Que se passe t’il lorsque j’ai trop d’application en mémoire ?
Une application prend plus ou moins de place en mémoire, il se pend que le système décide de supprimer des instances afin de gagner en place, il va donc vider la pile d’instance (de DVD) par le dessous, en supprimant les plus anciennes instances utilisées jusqu’à avoir assez de place pour la nouvelle application.
