modulo9 background agents

3

Click here to load reader

Upload: eduardo

Post on 03-Jul-2015

124 views

Category:

Documents


0 download

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

Page 1: Modulo9 Background Agents

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

Page 2: Modulo9 Background Agents

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