multitasking

35
Multitasking Eduardo Ortega MVP Device Application Development

Upload: owena

Post on 07-Feb-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Multitasking. Eduardo Ortega MVP Device Application Development. Windows Phone 7.5 Modelo de ejecución. Modelo de ejecución. Mango introduce un nuevo estado: Dormant Reanudación de aplicaciones rápida (sin Resuming …) Se busca experiencia de usuario rápida y receptiva - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Multitasking

Multitasking

Eduardo Ortega MVP Device Application Development

Page 2: Multitasking

Windows Phone 7.5Modelo de ejecución

Page 3: Multitasking

Windows Phone

Modelo de ejecución

• Mango introduce un nuevo estado: Dormant

• Reanudación de aplicaciones rápida (sin Resuming…)

• Se busca experiencia de usuario rápida y receptiva

• Una sola aplicación en primer plano

• Experiencia de navegación entre aplicaciones consistente

• Novedad en Mango: Mantener pulsado back button para cambiar a la aplicación anterior

Page 4: Multitasking

Windows Phone

Ciclo de vida de una aplicación

Page 5: Multitasking

Windows Phone

Ciclo de vida de una aplicación

running

deactivated

dormant

activated

Desasociar recursos del teléfonoThreads & timers suspendidos

Rápida reanudación de App

Guardar Estado!Estado conservado!IsAppInstancePreserved == true

Tombstone App más antigua

Tombstoned

Page 6: Multitasking

Windows Phone

Modelo de aplicación

• OnNavigatedFrom/Deactivated– Salvar estado de página/ aplicación

• OnNavigatedTo/Activated– Resaturar estado de página/aplicación si

tombstoning

• WP7: la mayoría de las veces Apps Tombstoned

• Mango: Apps Tombstoned a veces

Page 7: Multitasking

Windows Phone

Resumiendo la aplicación…

private void Application_Activated(object sender, ActivatedEventArgs e){ if (e.IsApplicationInstancePreserved) { // Dormant – objetos intactos en memoria } else { // Tombstoned – necesita recargar los datos }}

7

Page 8: Multitasking

Demo

Fast Application Switching

Page 9: Multitasking

Windows Phone 7.5Background Tasks

Page 10: Multitasking

Windows Phone

Capacidades de multitasking

• Background Agents– Periodic– Resource Intensive

• Background Transfer Service

• Alarms and Reminders

• Background Audio

10

Page 11: Multitasking

Windows Phone 7.5Background Agents

Page 12: Multitasking

Windows Phone

Background Agents

• Agentes– Periodicos– Recursos Intensivos

• Una aplicación solo puede tener uno de cada

• Inicializado en primer plano, se ejecuta en segundo plano

– Persiste entre reinicios

• Control de usuario de la configuración– Maximo del sistema 18 agentes periódicos

• Los agentes se ejecutan hasta 14 días (pueden ser renovados)

Page 13: Multitasking

Windows Phone

Tipos de agentes

Agentes Periodicos

• Ocurrencia– Cada 30 min

• Duración– ~15 seconds

• Restricciones– <= 6 MB Memoria– <=10% CPU

Agentes de Recursos Intensivos

• Ocurrencia– Fuente externa– Red no celular

• Duración– 10 minutos

• Restricciones– <= 6 MB Memoria

13

Windows Phone

Page 14: Multitasking

Windows Phone

Funcionalidades de los agentes

Permitidas

Tiles Toast Location Network R/W ISO store Sockets Most framework APIs

Restringidas

Display UI XNA libraries Microphone and

Camera Sensors Play audio

(may only use background audio APIs)

14

Page 15: Multitasking

Windows Phone

Depurando un Background Task

15

#if DEBUG_AGENT ScheduledActionService.LaunchForTest(taskName,

TimeSpan.FromSeconds(60));#endif

15

Page 16: Multitasking

Demo

Background Agents

Page 17: Multitasking

Windows Phone 7.5Background Notification Services

Page 18: Multitasking

Alarmas vs Recordatorios

Alarmas

18

Recordatorios

•Modal•Snooze and Dismiss•Sound customization•No app invocation•No stacking

• Rich information• Integrates with other

reminders• Snooze and Dismiss• Launch app• Follows the phones global

settings

Page 19: Multitasking

Windows Phone

Recordatorios

19

Page 20: Multitasking

Windows Phone

Alarmas

20

Page 21: Multitasking

Demo

Background Notification Services

Page 22: Multitasking

Windows Phone 7.5Background Audio

Page 23: Multitasking

Windows Phone

Background Audio

• Mango proporciona 2 agentes para reproducción de audio en segundo plano

• AudioPlayerAgent reproducción de audio basada en URIs locales o remotas

o Rutas locales a archivos del almacenamiento aislado

o URL a un archivo remotoo Restricción: archivos con formato

compatible (.mp3 o .wav)

• AudioStreamingAgent audio stream de la web

Page 24: Multitasking

Windows Phone

Espacio de nombres: Microsoft.Phone.BackgroundAudio

Clase Descripción

AudioPlayerAgentImplementación de BackgroundAgent específica para reproducir audio en background

AudioStreamer Stream de audio que puede reproducirse mediante el reproductor del sistema

AudioStreamingAgent Agente en segundo plano que reproduce streaming por pista

AudioTrack Pista de audio

BackgroundAudioPlayer

Proporciona acceso en background a funcionalidades de reproducción como reproducir, pausar, adelantar o rebobinar

Enumeración Descripción Valores

EnabledPalyerControlsEspecifica los controles del reproductor habilitados en el interfaz de usuario

None, SkipNext, SkipPrevious, FastForward,Rewind, Pause, All

PlayState Posibles estados en los que se encuentra el reproductor con respecto a la aplicación actual con audio en background

Unknown, Stopped, Paused, Playing, BufferingStarted, BufferingStopped, TrackReady, TrackEnded, Rewind, FasForwarding, Shutdown, Error

UserAction Posibles acciones del usuarioStop, Pause, Play, SkipNext, SkipPrevious, FastForward, Rewind, Seek

Page 25: Multitasking

Windows Phone

Background Audio

Demo: How To: Play BackgroundAudiohttp://msdn.microsoft.com/en-us/library/hh202978(v=VS.92).aspx

http://dotnettrain.blogspot.com/2011/06/windows-phone-mango-background-audio.html

http://www.c-sharpcorner.com/UploadFile/dhananjaycoder/7687/

Page 26: Multitasking

Demo

Background Audio

Page 27: Multitasking

Windows Phone 7.5Background File Transfer

Page 28: Multitasking

Windows Phone

Transferencia de archivos en Background

• Descargas archivos ejecutándose segundo plano

• Continúan aunque aplicación no esté ejecutándose primer plano

• Posibilidad de encolar transferencias (subidas o descargas)

• APIs consulta estado transferencias e indicadores de progreso

• Espacio de nombres:Microsoft.Phone.BackgroundTransferService• BackgroundTransferService gestión

transferencias existentes• BackgroundTransferRequest una única petición• GET HTTP descarga y POST HTTP subida

Page 29: Multitasking

Windows Phone

Requisitos de la aplicación

Transferencias iniciadas por el usuario o consciente de que se están ejecutando

Posibilidad de mostrar transferencias en proceso

Posibilidad de cancelar transferencias activas o pendientes

• Posibilidad forzar transferencias sólo cuando haya WiFi

Obligatorio Recomendado

Page 30: Multitasking

Windows Phone

Restricciones del sistema de archivos• Transferencias requieren ruta archivo local

• Descargas ruta específica de almacenamiento• Subidas ruta en la que se encuentra el archivo a enviar

• Todas las rutas locales en almacenamiento aislado en directorio Transfers

• Creado por el SO durante instalación• Puede albergar estructura de directorio adicional

• Iniciar transferencia fuera directorio Transfers Exception!!

Page 31: Multitasking

Windows Phone

Políticas de transferencia de archivos• Transferencias iniciadas cuando se cumplan requisitos

BackgroundTransferRequest.TransferPreferences

• SO obliga a cumplir restricciones

Tamaños

Máximo archivo subida 5MB

Máximo tamaño de descarga en conexión de datos 20 MB (Si se sobrepasa TransferPreferences cambia a AllowBattery se precisa WiFi para la transferencia)

Máximo tamaño de descarga sobre WiFi sin alimentación externa 100MB

Máximo tamaño de descarga sobre WiFi con alimentación externa y TransferPreferences = None o AllowCellular

Sin límite

Máximo número de peticiones en cola (activas y pendientes) / aplicación

5 ( transferencias no eliminadas de la cola automáticamente aplicaciones deben llamar al método Remove(backgroundTransferRequest)

Page 32: Multitasking

Windows Phone

Políticas de transferencia de archivos• SO obliga a cumplir restricciones

• Servicio de transferencia segundo plano No se ejecuta en redes

• 2G• EDGE• GPRS Estándar

Requiere redes 3G o superiores

Límites

Máximo número total de transferencias concurrentes (de todas las aplicaciones del dispositivo) 2

Máximo número total de transferencias encoladas (de todas las aplicaciones del dispositivo) 500

Máximo número de cabeceras HTTP por petición 10

Máximo tamaño de cabeceras HTTP 16K cada una

Page 33: Multitasking

Demo

Background File Transfer

Page 34: Multitasking

Q&A

Page 35: Multitasking

GRACIASwww.micmovilidad.es

Eduardo Ortegahttp://geeks.ms/blogs/eduardoortegawww.micmovilidad.es

Jose Antonio Gallegohttp://geeks.ms/blogs/jagallego@lmovilero