Idioma: HTML | XAML

Directrices para tareas en segundo plano (aplicaciones de Windows en tiempo de ejecución)

Applies to Windows and Windows Phone

Crea mejores tareas en segundo plano para dar soporte a tu aplicación y asegurarte de que cumple con los requisitos para ejecutar tareas en segundo plano.

Guía de tareas en segundo plano

Ten en cuenta la siguiente guía a la hora de desarrollar tus tareas en segundo plano y antes de publicar tu aplicación.

Cuotas de CPU y red:  No excedas la cuota de CPU ni la cuota de uso de los datos de red aplicadas a tu tarea en segundo plano. Las tareas en segundo plano deben ser ligeras para ahorrar batería y proporcionar una mejor experiencia de usuario para las aplicaciones en primer plano. Consulta el tema Dar soporte a tu aplicación mediante tareas en segundo plano para obtener las restricciones de recursos que se aplican a las tareas en segundo plano.

Administrar tareas en segundo plano:  Tu aplicación debería obtener una lista de tareas en segundo plano registradas, registrar para controladores de progreso y finalización, y controlar dichos eventos de forma adecuada. Tus clases de tareas en segundo plano debería informar del progreso, la cancelación y la finalización. Para obtener más información, consulta Cómo obtener una lista de tareas en segundo plano, Cómo controlar una tarea en segundo plano cancelada y Cómo supervisar el progreso y la finalización de tareas en segundo plano.

Usar BackgroundTaskDeferral.:  Si tu clase de tareas en segundo plano ejecuta código asincrónico, asegúrate de usar aplazamientos. En caso contrario, tu tarea en segundo plano podría terminar de forma prematura cuando se complete el método Run. Para obtener más información, consulta Inicio rápido: creación y registro de una tarea en segundo plano.

De forma alternativa, solicita un aplazamiento y usa async/await para completar las llamadas a métodos asincrónicos. Cierra el aplazamiento después de la llamadas al método await.

Actualizar el manifiesto de la aplicación:  Declara todas las tareas en segundo plano en el manifiesto de la aplicación, junto con el tipo de desencadenador con el que se usan. En caso contrario, tu aplicación no podrá registrar la tarea en segundo plano en tiempo de ejecución. Si quieres más información, consulta el tema sobre el procedimiento para declarar tareas en segundo plano en el manifiesto de la aplicación.

Preparar para actualizaciones de la aplicación:  Si tu aplicación se va a actualizar, crea y registra una tarea en segundo plano ServicingComplete (consulta SystemTriggerType) para llevar a cabo las actualizaciones de aplicaciones que puedan ser necesarias fuera del contexto de la ejecución en primer plano.

  • Applies to Windows

Tareas en segundo plano para aplicaciones compatibles con la pantalla de bloqueo en Windows:  La pantalla de bloqueo es un recurso compartido. Solo se pueden colocar siete aplicaciones en la pantalla de bloqueo en un momento dado, y solo una de ellas puede mostrar un icono ancho. Tu aplicación puede proporcionar una buena experiencia de usuario solicitando acceso a la pantalla de bloqueo mediante el método RequestAccessAsync, y asegurándose de que tu aplicación seguirá funcionando cuando no esté en la pantalla de bloqueo. Aplicaciones que no están en la pantalla de bloqueo aún pueden actualizar iconos, actualizar distintivos, enviar notificaciones y registrar para desencadenadores de eventos del sistema. La experiencia del usuario cuando tu aplicación está en segundo plano nunca debe verse interrumpida, incluso si el usuario no ha colocado tu aplicación en la pantalla de bloqueo.

Lee el tema Introducción a la pantalla de bloqueo para averiguar si la pantalla de boqueo es el lugar adecuado para tu aplicación.

Solicitar la ejecución de tareas en segundo plano en Windows Phone:  Todas las aplicaciones de Windows Phone pueden ejecutar tipos de tareas admitidos sin anclarlas a la pantalla de bloque. Sin embargo, la aplicación debe llamar a RequestAccessAsync antes de registrar cualquier tipo de tarea en segundo plano. Este método devolverá BackgroundAccessStatus.Denied si se ha excedido el número máximo de aplicaciones con tareas en segundo plano en el sistema o si el usuario ha denegado explícitamente los permisos para tareas en segundo plano a tu aplicación en la configuración del dispositivo.

Lista de comprobación de tareas en segundo plano

La siguiente lista de comprobación se aplica a todas las tareas en segundo plano.

  • Asocia tu tarea en segundo plano con el desencadenador correcto.

  • Agrega condiciones para asegurarte de que tu tarea en segundo plano se ejecuta correctamente.

  • Controla el progreso, la finalización y la cancelación de las tareas en segundo plano.

  • No muestres opciones de interfaz de usuario que no sean notificaciones del sistema, iconos o actualizaciones de distintivo procedentes de la tarea en segundo plano.

  • En el método Run, solicita aplazamientos para todas las llamadas a métodos asincrónicos y ciérralos cuando el método haya terminado.

    O, usa un aplazamiento con async/await.

  • Usa almacenamiento persistente para compartir datos entre la tarea en segundo plano y la aplicación.

  • Declara todas las tareas en segundo plano en el manifiesto de la aplicación, junto con el tipo de desencadenador con el que se usan. Asegúrate de que el punto de entrada y los tipos de desencadenadores son correctos.

  • Escribe tareas en segundo plano de corta duración. No excedas la cuota de CPU o de red como se muestra en Dar soporte a tu aplicación mediante tareas en segundo plano.

  • No confíes en la interacción con el usuario en las tareas en segundo plano.

  • No especifiques un elemento Executable en el manifiesto a menos que estés usando un desencadenador que deberá ejecutarse en el mismo contexto que la aplicación (como por ejemplo el ControlChannelTrigger).

  • Comprueba si hay errores de registro de tareas en segundo plano. Si es adecuado, intenta volver a registrar la tarea en segundo plano con otros valores de parámetros.

  • Applies to Windows

Windows: lista de comprobación de tareas en segundo plano para aplicaciones compatibles con la pantalla de bloqueo

Sigue esta directriz cuando desarrolles tareas en segundo plano para aplicaciones aptas para estar en la pantalla de bloqueo. Sigue la directriz en Directrices y lista de comprobación de iconos de pantalla de bloqueo.

  • Asegúrate de que tu aplicación necesita estar en la pantalla de bloqueo antes de desarrollarla como una aplicación compatible con la pantalla de bloqueo. Para obtener más información, consulta Introducción a la pantalla de bloqueo.

  • Asegúrate de que tu aplicación sigue funcionando cuando no está en la pantalla de bloqueo.

  • Solicita acceso a la pantalla de bloqueo mediante el método RequestAccessAsync.

  • Incluye una tarea en segundo plano registrada con PushNotificationTrigger, ControlChannelTrigger o TimeTrigger, y declárala en el manifiesto de la aplicación. Asegúrate de que el punto de entrada y los tipos de desencadenadores son correctos. Esto es necesario para la certificación y permite al usuario colocar la aplicación en la pantalla de bloqueo.

  • Escribe tareas en segundo plano que sean de corta duración, incluso para aplicaciones compatibles con la pantalla de bloqueo. No excedas la cuota de CPU o de red como se muestra en Dar soporte a tu aplicación mediante tareas en segundo plano.

    • Applies to Windows Phone

    Nota  En Windows Phone, si el dispositivo se empieza a quedar sin memoria, es posible que las tareas en segundo plano finalicen sin advertencia previa y sin generar el evento OnCanceled. Esto contribuye a garantizar la experiencia del usuario de la aplicación en primer plano. La tarea en segundo plano debe estar diseñada para controlar este escenario.

Temas relacionados

Inicio rápido: creación y registro de una tarea en segundo plano
Cómo registrar una tarea en segundo plano
Cómo declarar tareas en segundo plano en el manifiesto de la aplicación
How to debug a background task
Cómo desencadenar los eventos suspender, reanudar y en segundo plano en aplicaciones de la Tienda Windows (al depurar)
Otras guías relacionadas con la pantalla de bloqueo
Introducción a las pantallas de bloqueo
Visualización de iconos en la pantalla de bloqueo
Directrices y lista de comprobación de iconos de pantalla de bloqueo

 

 

Mostrar:
© 2014 Microsoft