Ingen App i Windows Phone körs i bakgrunden. Detta låter kanske konstigt, men så är det. (Det finns dock möjlighet att skapa bakgrundsagenter, som gör det möjligt att köra saker i bakgrunden. Men detta är per definition ett annat projekt, som man dock kan ha i samma solution som sin "vanliga" app.)

Vad som händer när en app inte längre syns på skärmen är att den övergår ifrån att köras till hamna i ett viloläge där den "sover" tills den aktiveras igen.

Det finns två olika vilolägen:

  1. Appen finns kvar i minnet (Dormant)
  2. Appen laddas ur minnet (Thombstoning)

Det kan gå betydligt fortare att aktivera en app som finns kvar i minnet än en som behöver laddas upp i minnet och initiera om sina variabler innan den körs.

Hur använder man sig av FAS?

Det är väldigt enkelt, i alla fall i teorin, att använda sig av FAS. I App.xaml.cs, finns de händelser (event) som man kan prenumera på för att ta reda på hur sin app startatas respektive avslutas. I metoden Application_Activated som implementerar händelsen Activated, körs när en app blir aktiverad efter sin vila.

I denna metod kan man vända sig av egenskapen e.IsApplicationInstancePreserved, vilket anger om appen finns kvar i minnet eller ej. Om denna egenskap returnerar true så behöver man alltså inte ladda in sina variabler igen eftersom de redan finns i minnet.

Se exemplet Fast Application Switching in To-do application för en djupare beskrivning.