Le 7 mars, alors que je sortais d’une nuit blanche durant le hackathon « Le Mobile », j’ai appris la rumeur provenant d’autres participants, que les windows phone tango n’avaient pas la fonctionnalité « Fast App Resume ». Plutôt surpris par cette nouvelle, sachant que l’on avait déjà eu la confirmation que les background agent allaient être désactivés, je n’arrivais pas trop à y croire car cela serait un retour à Nodo (les principales nouveauté de mango étant le fast app resume et les background agents).
J’avais eu l’occasion d’essayer le lumia 610 pendant quelques jours pendant mon escape à Seattle une semaine auparavant et je n’avais pas remarqué ce manque. Afin de confirmer mes doutes, il se trouve, que sur le salon, se trouvait un stand Nokia avec bien caché dans une mallette, des Nokia 808 (l’appareil photo est impressionnant), des Lumia 900 et surtout des Lumia 610 !
Donc je le confirme bel et bien, après quelques tests avec un vrai téléphone, le fast app résume est bien présent sur les téléphones tango !
Toutefois attention !
La mémoire de ces téléphones peut-être de 256Mo (ce qui ne sera pas le cas de tous les téléphones tango, qui pourront en avoir plus, mais chut pour l’instant), donc comme le fast app resume consiste à garder les données de l’application en RAM pendant l’exécution d’une autre, les probabilités sont plus fortes pour que le téléphone supprime ces données de sa mémoire suite à l’ouverture d’une ou plusieurs applications gourmande en mémoire.
Sachant qu’une application sous tango ne devra pas dépasser les 90Mo de RAM, on peut estimer qu’une grosse application peut rester en mémoire si plusieurs petites sont lancées. Deux grosses applications (2X90Mo=180Mo) n’auront pas forcément la possibilité d’être en mémoire toutefois.
Que dit la MSDN ?
Cette dernière est plutôt claire :
Fast Application Switching is supported on 256-MB devices. However, because keeping applications in a dormant state for Fast Application Switching is dependent on the phone’s available memory, an application running on 256-MB devices will be terminated and tombstoned more often and more quickly than the same application running on a phone with more memory.
source http://msdn.microsoft.com/en-us/library/hh202866(v=vs.92).aspx
Testons avec l’émulateur
Pour tester si une application revient du tombstoning ou du fast app resume, il suffit de regarder la valeur de IsApplicationInstancePreserved lorsque l’on passe dans la fonction App_Activated, ainsi si on écrit :
private void Application_Activated(object sender, ActivatedEventArgs e)
{
ComeFromFAR = e.IsApplicationInstancePreserved;
}
Et il suffit d’écrire dans la fonction Loaded de MainPage :
IsFARTextBlock.Text=(((App)Application.Current).ComeFromFAR?"TRUE":"FALSE");
Voici donc le résultat avec deux petites applications lancée en affichant le multitâche :
et si je sélectionne une des applications :
On voit bien que l’application revient de Fast App Resume.










