SlideShare a Scribd company logo
1 of 36
Download to read offline
Deep multitasking in Windows Phone codename «Mango»,[object Object],MatteoPagani,[object Object],Mobile Software Engineer @ Gaia,[object Object],Microsoft MVP – Device Application Development,[object Object],Twitter: @qmatteoq,[object Object],Facebook: http://www.facebook.com/matteo.pagani,[object Object],Blog: http://qmatteoq.tostring.it,[object Object],E-mail: info@qmatteoq.com,[object Object]
Agenda,[object Object],[object Object]
Application lifecycle
Alarms
Reminders
Background Agents
Background Transfer
Background Audio,[object Object]
Application lifecycle di Windows Phone ,[object Object],Save state,[object Object],Restore state,[object Object]
Application lifecycle di Windows Phone ,[object Object],Deactivated,[object Object],[object Object],Tombstoned,[object Object],[object Object],Activated,[object Object],[object Object]
Viene recuperato lo stato salvato in precedenza.,[object Object]
Applicatione lifecycle di Mango,[object Object],Deactivated,[object Object],[object Object],Dormant,[object Object],[object Object]
Vengono terminati tutti i thread e i timer in esecuzione
Vengono scollegate tutte le risorse in uso (camera, rete, ecc.)Tombstoned,[object Object],[object Object],Activated,[object Object],[object Object]
In caso sia a false,occorre recuperare lo stato dal tombstone.,[object Object]
Activated,[object Object],Non tutte le risorse vengono riattivate in automatico: alcune devono essere manualmente riattivate dall’applicazione.,[object Object]
Fast App Switcher,[object Object],Tenendo premuto il pulsante Back del device, si attiva il Fast App Switcher, che permette di sportarci velocemente tra le applicazioni.,[object Object]
Debugging,[object Object],[object Object]
Tramite una proprietà del progetto di Visual Studio, è possibile forzare lo stato Tombstoned.,[object Object]
Alarms,[object Object],usingMicrosoft.Phone.Scheduler;,[object Object],privatevoidAddAlarm(object sender, RoutedEventArgs e),[object Object],{,[object Object],   Alarmalarm = newAlarm(“Alarm");,[object Object],alarm.BeginTime= DateTime.Now.AddSeconds(15);,[object Object],alarm.Content= “Questo è un alarm";,[object Object],ScheduledActionService.Add(alarm);,[object Object],},[object Object],Semplice promemoria con i pulsanti snooze e dismiss, possibilità di impostare un suono personalizzato,[object Object]
Reminders,[object Object],usingMicrosoft.Phone.Scheduler;,[object Object],privatevoidAddReminder(object sender, RoutedEventArgs e),[object Object],{,[object Object],Reminderreminder = newReminder(“Reminder");,[object Object],reminder.BeginTime = DateTime.Now.AddSeconds(15);,[object Object],reminder.Content = “Questo è iltitolo del reminder";,[object Object],reminder.Title = “Questa è la descrizione del reminder";,[object Object],reminder.RecurrenceType = RecurrenceInterval.Yearly;,[object Object],reminder.NavigationUri= newUri("/Reminder.xaml", UriKind.Relative);,[object Object],ScheduledActionService.Add(reminder);,[object Object],},[object Object],Promemoria con snooze personalizzabile e deep link,[object Object]
Eseguiamo operazioni in background,[object Object],BACKGROUND AGENTS,[object Object]
Background agents,[object Object],[object Object]
Vengono istanziati dall’applicazione foreground ma eseguiti in background quando questa non è esecuzione.
Due tipi di agents: Periodic e Resource Intensive.
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.,[object Object]
Toast
Servizi di localizzazione
Connettività
Accessoall’Isolated Storage
Sockets
La maggior parte delle API
Interagire con la UI
Librerie XNA

More Related Content

Similar to Deep multitasking in Windows Phone Codename "Mango"

Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Mattia De Bernardi
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld DevicesGWTcon
 
Difendersi dai cryptolocker con open source
Difendersi dai cryptolocker con open sourceDifendersi dai cryptolocker con open source
Difendersi dai cryptolocker con open sourceGianluca Vaglio
 
Codice efficiente per le Windows Store Apps by Matteo Anelli
Codice efficiente per le Windows Store Apps by Matteo AnelliCodice efficiente per le Windows Store Apps by Matteo Anelli
Codice efficiente per le Windows Store Apps by Matteo AnelliCodemotion
 
Presentazione Live Backup 2010 Remota
Presentazione Live Backup 2010 RemotaPresentazione Live Backup 2010 Remota
Presentazione Live Backup 2010 Remotamodestini
 
Presentazione Live Backup 2010 Remota
Presentazione Live Backup 2010 RemotaPresentazione Live Backup 2010 Remota
Presentazione Live Backup 2010 Remotamodestini
 
Programma il futuro: una scelta open source
Programma il futuro: una scelta open sourceProgramma il futuro: una scelta open source
Programma il futuro: una scelta open sourceMarco Ferrigno
 
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceLinux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceMario Rossano
 
Working between the clouds
Working between the cloudsWorking between the clouds
Working between the cloudsDavide Cerbo
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XMLAndrea Castello
 
Push Notification, Live Tile e Background Agent
Push Notification, Live Tile e Background AgentPush Notification, Live Tile e Background Agent
Push Notification, Live Tile e Background AgentDomusDotNet
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
 
Programma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceProgramma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceNaLUG
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Marco Loregian
 
Working between the clouds (versione completa)
Working between the clouds (versione completa)Working between the clouds (versione completa)
Working between the clouds (versione completa)Davide Cerbo
 
Adobe TechConnection: Flex Best Practices
Adobe TechConnection: Flex Best PracticesAdobe TechConnection: Flex Best Practices
Adobe TechConnection: Flex Best Practicesmarcocasario
 
Progettazione per Apple Watch - Todi Appy Days 2015
Progettazione per Apple Watch - Todi Appy Days 2015Progettazione per Apple Watch - Todi Appy Days 2015
Progettazione per Apple Watch - Todi Appy Days 2015Todi Appy Days
 

Similar to Deep multitasking in Windows Phone Codename "Mango" (20)

Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld Devices
 
Difendersi dai cryptolocker con open source
Difendersi dai cryptolocker con open sourceDifendersi dai cryptolocker con open source
Difendersi dai cryptolocker con open source
 
Codice efficiente per le Windows Store Apps by Matteo Anelli
Codice efficiente per le Windows Store Apps by Matteo AnelliCodice efficiente per le Windows Store Apps by Matteo Anelli
Codice efficiente per le Windows Store Apps by Matteo Anelli
 
Presentazione Live Backup 2010 Remota
Presentazione Live Backup 2010 RemotaPresentazione Live Backup 2010 Remota
Presentazione Live Backup 2010 Remota
 
Presentazione Live Backup 2010 Remota
Presentazione Live Backup 2010 RemotaPresentazione Live Backup 2010 Remota
Presentazione Live Backup 2010 Remota
 
Google AppEngine
Google AppEngineGoogle AppEngine
Google AppEngine
 
Programma il futuro: una scelta open source
Programma il futuro: una scelta open sourceProgramma il futuro: una scelta open source
Programma il futuro: una scelta open source
 
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceLinux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open source
 
Working between the clouds
Working between the cloudsWorking between the clouds
Working between the clouds
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XML
 
Presentazione
PresentazionePresentazione
Presentazione
 
Push Notification, Live Tile e Background Agent
Push Notification, Live Tile e Background AgentPush Notification, Live Tile e Background Agent
Push Notification, Live Tile e Background Agent
 
Relazione
RelazioneRelazione
Relazione
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
 
Programma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceProgramma il futuro : una scelta Open Source
Programma il futuro : una scelta Open Source
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
 
Working between the clouds (versione completa)
Working between the clouds (versione completa)Working between the clouds (versione completa)
Working between the clouds (versione completa)
 
Adobe TechConnection: Flex Best Practices
Adobe TechConnection: Flex Best PracticesAdobe TechConnection: Flex Best Practices
Adobe TechConnection: Flex Best Practices
 
Progettazione per Apple Watch - Todi Appy Days 2015
Progettazione per Apple Watch - Todi Appy Days 2015Progettazione per Apple Watch - Todi Appy Days 2015
Progettazione per Apple Watch - Todi Appy Days 2015
 

More from Matteo Pagani

Windows Phone 8 enterprise, store e in app purchase
Windows Phone 8 enterprise, store e in app purchaseWindows Phone 8 enterprise, store e in app purchase
Windows Phone 8 enterprise, store e in app purchaseMatteo Pagani
 
Lens App and Imaging SDK for Windows Phone
Lens App and Imaging SDK for Windows PhoneLens App and Imaging SDK for Windows Phone
Lens App and Imaging SDK for Windows PhoneMatteo Pagani
 
MVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applicationsMVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applicationsMatteo Pagani
 
Keynote of the Windows Phone Day
Keynote of the Windows Phone DayKeynote of the Windows Phone Day
Keynote of the Windows Phone DayMatteo Pagani
 
Windows 8 hardware sensors
Windows 8 hardware sensorsWindows 8 hardware sensors
Windows 8 hardware sensorsMatteo Pagani
 
Visual Studio 2012 Tips & Tricks
Visual Studio 2012 Tips & TricksVisual Studio 2012 Tips & Tricks
Visual Studio 2012 Tips & TricksMatteo Pagani
 
Windows Phone 7.5 Refresh: Performance e localizzazione
Windows Phone 7.5 Refresh: Performance e localizzazioneWindows Phone 7.5 Refresh: Performance e localizzazione
Windows Phone 7.5 Refresh: Performance e localizzazioneMatteo Pagani
 
Il futuro di Windows Phone
Il futuro di Windows PhoneIl futuro di Windows Phone
Il futuro di Windows PhoneMatteo Pagani
 
Da Windows Phone a Windows 8: andata e ritorno
Da Windows Phone a Windows 8: andata e ritornoDa Windows Phone a Windows 8: andata e ritorno
Da Windows Phone a Windows 8: andata e ritornoMatteo Pagani
 
Introduzione a MVVM con MVVM light
Introduzione a MVVM con MVVM lightIntroduzione a MVVM con MVVM light
Introduzione a MVVM con MVVM lightMatteo Pagani
 

More from Matteo Pagani (11)

Windows Phone 8 enterprise, store e in app purchase
Windows Phone 8 enterprise, store e in app purchaseWindows Phone 8 enterprise, store e in app purchase
Windows Phone 8 enterprise, store e in app purchase
 
Lens App and Imaging SDK for Windows Phone
Lens App and Imaging SDK for Windows PhoneLens App and Imaging SDK for Windows Phone
Lens App and Imaging SDK for Windows Phone
 
MVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applicationsMVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applications
 
Keynote of the Windows Phone Day
Keynote of the Windows Phone DayKeynote of the Windows Phone Day
Keynote of the Windows Phone Day
 
Windows 8 hardware sensors
Windows 8 hardware sensorsWindows 8 hardware sensors
Windows 8 hardware sensors
 
Visual Studio 2012 Tips & Tricks
Visual Studio 2012 Tips & TricksVisual Studio 2012 Tips & Tricks
Visual Studio 2012 Tips & Tricks
 
Windows Phone 7.5 Refresh: Performance e localizzazione
Windows Phone 7.5 Refresh: Performance e localizzazioneWindows Phone 7.5 Refresh: Performance e localizzazione
Windows Phone 7.5 Refresh: Performance e localizzazione
 
Il futuro di Windows Phone
Il futuro di Windows PhoneIl futuro di Windows Phone
Il futuro di Windows Phone
 
Da Windows Phone a Windows 8: andata e ritorno
Da Windows Phone a Windows 8: andata e ritornoDa Windows Phone a Windows 8: andata e ritorno
Da Windows Phone a Windows 8: andata e ritorno
 
Introduzione a MVVM con MVVM light
Introduzione a MVVM con MVVM lightIntroduzione a MVVM con MVVM light
Introduzione a MVVM con MVVM light
 
Wp7 to the max!
Wp7 to the max!Wp7 to the max!
Wp7 to the max!
 

Deep multitasking in Windows Phone Codename "Mango"