Multitasking, background agents and local notifications<br />MatteoPagani<br />Mobile Software Engineer @ Gaia<br />Micros...
Agenda<br /><ul><li>Fast App Switching
Multiple tiles
Background agents
Reminders</li></li></ul><li>Application lifecycle di Windows Phone <br />Save state<br />Restore state<br />
Application lifecycle di Mango<br />Tombstoned<br />Restore state<br />Save state<br />
Applicatione lifecycle di Mango<br />Deactivated<br /><ul><li>Occorre comunque salvare lo stato della nostra applicazione<...
Vengono terminati tutti i thread e i timer in esecuzione
Vengono scollegate tutte le risorse in uso (camera, rete, ecc.)</li></ul>Tombstoned<br /><ul><li>In caso ci sia bisogno di...
In caso sia a false,occorre recuperare lo stato dal tombstone.</li></li></ul><li>Deactivated<br />Windows Phone si occupa ...
Activated<br />Non tutte le risorse vengono riattivate in automatico: alcune devono essere manualmente riattivate dall’app...
Multiple tiles<br />Un’invasione di tile sullo schermo <br />
Multiple tiles<br /><ul><li>Un’app può creare da codice più tile in home
Ogni tile è identificata univocamente da un deep link
Le tile possono essere aggiornate sia localmente che da remoto</li></li></ul><li>Multiple tiles<br />
LET’S CODE!<br />
BACKGROUND AGENTS<br />Eseguiamo operazioni in background<br />
Background agents<br /><ul><li>Un progetto Visual Studio separato da quello dell’applicazione vera e propria.
Vengono istanziati dall’applicazione foreground ma eseguiti in background quando questa non è in esecuzione.
Possono coesistere massimo 18 agents contemporaneamente.
L’utente può abilitarli o disabilitarli da un apposito pannello di controllo.
Vengono disattivati dopo 14 giorni che l’applicazione collegata non viene utilizzata.</li></li></ul><li>Cosa possono fare?...
Upcoming SlideShare
Loading in...5
×

Multitasking, background agents and local notifications

1,177
-1

Published on

Il multasking in Windows Phone Mango: background agents, notifiche push locali, reminders.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,177
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Multitasking, background agents and local notifications

  1. 1. Multitasking, background agents and local notifications<br />MatteoPagani<br />Mobile Software Engineer @ Gaia<br />Microsoft MVP – Device Application Development<br />Twitter: @qmatteoq<br />Facebook: http://www.facebook.com/matteo.pagani<br />Blog: http://qmatteoq.tostring.it<br />E-mail: info@qmatteoq.com<br />
  2. 2. Agenda<br /><ul><li>Fast App Switching
  3. 3. Multiple tiles
  4. 4. Background agents
  5. 5. Reminders</li></li></ul><li>Application lifecycle di Windows Phone <br />Save state<br />Restore state<br />
  6. 6. Application lifecycle di Mango<br />Tombstoned<br />Restore state<br />Save state<br />
  7. 7. Applicatione lifecycle di Mango<br />Deactivated<br /><ul><li>Occorre comunque salvare lo stato della nostra applicazione</li></ul>Dormant<br /><ul><li>Il processo non viene terminato, ma rimane in background
  8. 8. Vengono terminati tutti i thread e i timer in esecuzione
  9. 9. Vengono scollegate tutte le risorse in uso (camera, rete, ecc.)</li></ul>Tombstoned<br /><ul><li>In caso ci sia bisogno di risorse, le applicazioni dormant più vecchie vengono comunque mandate in tombstone.</li></ul>Activated<br /><ul><li>La proprietà IsApplicationInstancePreserved ci dice se l’applicazione è andata in tombstoned oppure no.
  10. 10. In caso sia a false,occorre recuperare lo stato dal tombstone.</li></li></ul><li>Deactivated<br />Windows Phone si occupa di disconnettere e fermare tutto ciò che possa consumare risorse in eccesso.<br />
  11. 11. Activated<br />Non tutte le risorse vengono riattivate in automatico: alcune devono essere manualmente riattivate dall’applicazione.<br />
  12. 12. Multiple tiles<br />Un’invasione di tile sullo schermo <br />
  13. 13. Multiple tiles<br /><ul><li>Un’app può creare da codice più tile in home
  14. 14. Ogni tile è identificata univocamente da un deep link
  15. 15. Le tile possono essere aggiornate sia localmente che da remoto</li></li></ul><li>Multiple tiles<br />
  16. 16. LET’S CODE!<br />
  17. 17. BACKGROUND AGENTS<br />Eseguiamo operazioni in background<br />
  18. 18. Background agents<br /><ul><li>Un progetto Visual Studio separato da quello dell’applicazione vera e propria.
  19. 19. Vengono istanziati dall’applicazione foreground ma eseguiti in background quando questa non è in esecuzione.
  20. 20. Possono coesistere massimo 18 agents contemporaneamente.
  21. 21. L’utente può abilitarli o disabilitarli da un apposito pannello di controllo.
  22. 22. Vengono disattivati dopo 14 giorni che l’applicazione collegata non viene utilizzata.</li></li></ul><li>Cosa possono fare?<br />Non consentito<br />Consentito<br /><ul><li>Tiles
  23. 23. Toast
  24. 24. Servizi di localizzazione
  25. 25. Connettività
  26. 26. Accessoall’Isolated Storage
  27. 27. Sockets
  28. 28. La maggior parte delle API
  29. 29. Interagire con la UI
  30. 30. Librerie XNA
  31. 31. Microfono e fotocamera
  32. 32. Sensori
  33. 33. Riprodurre audio senzal’ausiliodelle apposite API per il background audio</li></li></ul><li>Periodic agents<br /><ul><li>Vengono eseguiti ogni 30 minuti
  34. 34. Possono eseguire operazioni per un tempo massimo di 15 secondi
  35. 35. Se il device è in uso, vengono eseguiti uno alla volta
  36. 36. Se il device è in stand by, vengono eseguiti in parallelo
  37. 37. Nascono per task di sincronizzazione veloce, geo localizzazione, notifiche, ecc. </li></li></ul><li>Resource Intensive agents<br /><ul><li>Vengono eseguiti solo nel momento in cui il device è in ricarica (collegato al pc o ad una presa di corrente)
  38. 38. Il device deve essere collegato ad una rete Wi-Fi
  39. 39. Possono eseguire operazioni per un tempo massimo di 10 minuti
  40. 40. Nascono per task di sincronizzazioni di grandi quantità di dati</li></li></ul><li>LET’S CODE!<br />
  41. 41. ALARMS & REMINDERS<br />Per gli utenti smemorati<br />
  42. 42. Alarms<br /><ul><li>Promemoria non legato ad un contesto applicativo specifico
  43. 43. Possibilità di impostare un suono personalizzato
  44. 44. Pulsanti snooze e dismiss</li></li></ul><li>Reminders<br /><ul><li>Legati ad un contesto applicativo
  45. 45. Supporto ai deep link
  46. 46. Pulsanti snooze e dismiss con snooze personalizzabile</li></li></ul><li>LET’S CODE!<br />
  47. 47. Grazie!<br />MatteoPagani<br />Mobile Software Engineer @ Gaia<br />Microsoft MVP – Device Application Development<br />Twitter: @qmatteoq<br />Facebook: http://www.facebook.com/matteo.pagani<br />Blog: http://qmatteoq.tostring.it<br />E-mail: info@qmatteoq.com<br />
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×