modulo9 background agents
DESCRIPTION
Tareas para crear acciones programadas que puedan ocurrir aun cuando la aplicación no esté ejecutándose y analizaremos el ciclo de vida de este agente.TRANSCRIPT
12/09/2011
1
Nuevos servicios en Background
Background
Notifications
Background Transfers
Background Agents
Background Audio
Multitasking
Nuevos servicios en Background
Background
Notifications
Background Transfers
Background Agents
Background Audio
Multitasking
Background Agent Service
Agente capaz de ejecutar código en background
Una tarea (Background agent) por aplicación
Tienen su propio proyecto de Visual Studio
Tareas vs Notificaciones
o Sólo dos tipos de programación no configurable:
• Tareas periódicas (PeriodicTask)
• Tareas intensivas en recursos (ResourceIntensiveTask)
• Una app puede declarar el agente como
• Tarea periódica
• Tarea intensiva en recursos
• Ambas
Una instancia del agente en cada instante
12/09/2011
2
Background Agent Service
Limitación Descripción
APIs no soportadas
Algunas APIs (Camera, VibrateController…), no pueden ser utilizadas por tareas programadas Excepción o fallo en la certificación de
Marketplace
Uso de memoria No pueden consumir más de 6MB* o serán finalizadas inmediatamente. Restricción no aplicada en el emulador ApplicationMemoryUsageLimit
Requerida programación cada 2 semanas
Propiedad ExpirationTime valor 1-15 días. Al transcurrir el tiempo especificado la tarea no volverá a ser ejecutada.
Cuando inician su ejecución el SO llama a OnInvoke() En este método se indica el tipo de Tarea
Agente que completa su tarea debe llamar • NotifyComplete() ejecución exitosa
• Abort() no se pudo completar la tarea propiedad IsScheduled a false
Tareas Periódicas (PeriodicTask)
Ejecución regular durante breve periodo tiempo
Acceso a recursos (procesador, memoria…) limitado
Escenario: adecuadas para tareas rápidas o Cacheo pequeña cantidad de datos
Limitación Descripción
Intervalo programado: 30 min Ejecución periódica cada 30 min. Para optimizar consumo de batería
pueden ejecutarse junto con otros procesos retraso en su ejecución
hasta 10min
Duración programado: 15 sec Ejecución de las rutinas durante 15 sec
Modo ahorro de batería puede
evitar su ejecución Ahorro de energía es un modo opcional que prioriza la duración de batería
Límite de agentes periódicos por
dispositivo Depende de la configuración del dispositivo, máximo 6 agentes.
Tareas Intensivas en Recursos
(ResourceIntensiveTask)
Ejecución poco frecuente durante largo periodo tiempo
Cuando no hay escasez de recursos (conectado a alimentación,
conexión WiFi…)
Escenario: sincronización gran cantidad de datos mientras
dispositivo duerme conectado al PC
Limitación Descripción
Duración 10 min Tareas periódicas suelen ejecutarse durante 10 min
Requerida alimentación externa Sólo se ejecutan si hay alimentación externa
Requerida Conexión no
telefónica Sólo se ejecutan si hay conexión de red mediante WiFi o conexión a PC
Nivel de batería mínimo No se ejecutan a menos que el nivel de batería sea superior al 90%
Requerido bloqueo de pantalla No se ejecutan en un dispositivo que esté activo
Tareas Programadas
Demo: Cómo crearse una tarea en Background
12/09/2011
3
Recursos
Centro de desarrollo de WP7 en MSDN
http://msdn.microsoft.com/es-es/windowsphone/default.aspx
AppHub
http://create.msdn.com/
Windows Phone Developer Blog
http://windowsteamblog.com/windows_phone/b/wpdev
MobileNUG http://www.mobilenug.es
Forums
http://forums.create.msdn.com/forums/