O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Ciclo de Vida de Aplicativos Windows - The Developers Conferece 2014

636 visualizações

Publicada em

Slides da palestra Ciclo de Vida de Aplicativos Windows que ministrei no The Developers Conferece 2014

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Ciclo de Vida de Aplicativos Windows - The Developers Conferece 2014

  1. 1. WinRT Apps 24/04/2014
  2. 2. Our objective is to provide innovation to society. We work to shape trends and ideas using technology. How do we think• Software Development Engineer - Apps @ BR Soluções Integradas • Microsoft Most Valuable Professional (MVP) C# • Microsoft Certified Professional • Microsoft Certified Application Developer • Microsoft Certified Solution Developer • Microsoft Certified Technology Specialist - Silverlight • Ex Moderador do Fórum de Silverlight da MSDN Brasil • São Paulino • Viciado em games • Nerd e Bonitão Ricardo Dorta http://ricardodorta.net.br @dortaway
  3. 3. http://ricardodorta.net.br @dortaway
  4. 4. http://ricardodorta.net.br @dortaway
  5. 5. NotRunning Running http://ricardodorta.net.br @dortaway
  6. 6. sealed partial class App : Application { /// <summary> /// Invoked when the application is launched normally by the end user. /// </summary> /// <param name="e">Details about the launch request and process.</param> protected override async void OnLaunched(LaunchActivatedEventArgs e) { // How did the app exit the last time it was run (if at all) ApplicationExecutionState previousState = e.PreviousExecutionState; // What kind of launch is this? ActivationKind activationKind = e.Kind; // ... NotRunning Running Suspended Terminated ClosedByUser Launch File Protocol VoiceCommand Etc.
  7. 7. Aplicativo entra em modo “suspended” Todo o código do aplicativo para de rodar Nenhum timer executa o “tick” Nenhum evento é disparado O processo ainda está ativo na memória O código tem uma “chance” de ser executado(próximo slide) http://ricardodorta.net.br @dortaway
  8. 8. sealed partial class App : Application { public App() { this.InitializeComponent(); this.Suspending += OnSuspending; } private async void OnSuspending(object sender, SuspendingEventArgs e) { // Ask for a deferral if you need to do async work var deferral = e.SuspendingOperation.GetDeferral(); // TODO: whatever async work you need to do when suspending deferral.Complete(); // Then mark the deferral complete }
  9. 9. O mesmo aplicativo vai para o estado “resumed” Mesmo processo, mesmos valores de memória, portanto os valores de suas varíaveis estão intactas! Todo o seu código volta a rodar Seu código tem uma chance de responder... Launch Back Switcher
  10. 10. sealed partial class App : Application { public App() { this.InitializeComponent(); this.Suspending += OnSuspending; this.Resuming += OnResuming; } private void OnResuming(object sender, object e) { // TODO: whatever you need to do to resume your app } http://ricardodorta.net.br @dortaway
  11. 11. http://ricardodorta.net.br @dortaway
  12. 12. http://bit.ly/w8Resuming
  13. 13. Running
  14. 14. http://ricardodorta.net.br @dortaway
  15. 15. Terminated
  16. 16. Diretório App Data Local (ou diretório para dados roaming) 12:38 12:38 Jim Jones Tel: 0111 222 333 Bob Brown Tel: 0444 555 666 Arthur Abbott Tel: 0777 888 999 CONTACTS all 12:38 12:38 Work Tel: 0111 222 333 Home Tel: 0444 555 666 Email jim@jones.com CONTACTS Jim Jones 12:38 CONTACTS Add Phone Mobile Phone Phone type Phone number 0888 777 State Data
  17. 17. http://ricardodorta.net.br @dortaway
  18. 18. http://aka.ms/Tsatr4

×