En app i Windows 8 körs inte när den syns på skärmen, precis på samma sätt som i Windows Phone 7. Även om funktionaliteten är den samma, så hanteras livscykeln på lite olika sätt i de olika plattformarna. Skillnaderna beror bland annat på att Windows 8 är en mer avancerad plattform som oftast körs på maskiner med mer internminne.

I Windows Phone finns fyra händelser som man prenumererar på och som signalerar vad som händer i appens livscykel.

  • Launching – När man “kallstartar” appen.
  • Activated – När man kommer tillbaka till appen och den redan är startad.
  • Deactivated – När man går ur appen genom att trycka på windows-knappen.
  • Closing – När man backar ut ur appen och på det sättet signalerar att man vill stänga den.

I Windows 8 finns istället för  OnLaunched, OnActivated, Suspending och Resuming.

State diagram showing transitions between app execution states

OnLaunched

Händelsen OnLaunched signaleras vid följande tillfällen:

  • “Kallstart” när användaren startar appen.
  • Appen startas via en sekundär panel (tile)
  • Appen anropas via ett applikationskontrakt.

I OnLaunching kan man utläsa i vilket tillstånd appen är i när händelsen signaleras. Det kan utläsas i enumerationen ApplicationExecutionState.

OnActivated

Denna händelse anropas när appen startas av något annat skäl än att användaren startar eller aktiverar appen, exempelvis när man använder sökkontraktet.

Suspending

Denna händelse inträffar när användaren går till en annan app eller till skrivbordet (desktop). Vanligtvis kommer appen att finnas kvar i internminnet, vilket gör att innehållet finns kvar i minnet. Men appen kan komma att avslutas och kastas ur minnet så det är bra att förbereda sig på detta genom att i denna händelse spara undan information som kan behövas för att återställa appen. Det finns ingen händelse som signalerar att appen kastas ur minnet.

Resuming

När appen aktiveras igen och befinner sig i internminnet, så signaleras denna händelse. Tänk på att appens innehåll finns bevarat så att man inte behöver återupprätta appen igen.

OBSERVERA – Hur debuggar man livscykeln i en app?

När man debuggar en app så är den normala livscykeln satt ur spel. Dessa händelser kommer alltså inte att signaleras. Man kan istället manuellt signalera dessa händelser. Dessa knappar syns i debugmenyn när startar appen med debuggern. 

Läs mer här om en Windows 8 apps livscykel