Elección de la directiva de coordinador de actividades adecuada

El Coordinador de actividades proporciona varias directivas de plantilla, que se deben seleccionar en función de los recursos necesarios para la tarea.

Descripción de la carga de trabajo de actividad

Determine los recursos del Coordinador de actividades que requiere la tarea y en qué condiciones debe ejecutarse la tarea. La generación de perfiles de la tarea mediante un seguimiento de rendimiento es un buen lugar para empezar.

Elección de recursos

Elija los recursos derivados del seguimiento de rendimiento. Estos recursos deben ser los que afectarán a la carga de trabajo de actividad. No olvide los recursos que consume o afecta implícitamente, como la energía y la inactividad del usuario.

Elección de condiciones

Elija condiciones basadas en el consumo de recursos de la carga de trabajo, como se observa en el seguimiento de rendimiento. En general, se recomienda usar las mejores condiciones para los recursos necesarios y, si es necesario, actualizar la directiva con menos condiciones si no satisface sus necesidades en el período de tiempo deseado. A partir de las mejores condiciones y la transición a condiciones menores se prefiere antes de ejecutarse cuando la directiva no se cumpla (sus condiciones de recursos no se cumplen) para cumplir los plazos. Esto ofrece a la API una oportunidad para minimizar el impacto del usuario y del sistema de la actividad, a la vez que aumenta las oportunidades de ejecución de la actividad.

En el caso de las cargas de trabajo con un consumo de recursos insignificante o bajo, las condiciones como ACTIVITY_COORDINATOR_CONDITION_MEDIUM pueden usarse sin afectar negativamente al sistema. Las cargas de trabajo con un mayor consumo son más adecuadas para usar condiciones cuando es menos probable que el uso afecte a la experiencia del usuario, como ACTIVITY_COORDINATOR_CONDITION_GOOD. Es más probable que estas cargas de trabajo causen un impacto significativo al usar condiciones menores, y es posible que estos impactos no sean transitorios por naturaleza. Por ejemplo, consumir Internet bajo una condición de red media podría dar lugar a un costo financiero para el usuario si esa red se mide y factura.

Tenga en cuenta los tipos de dispositivos y configuraciones que admite la aplicación, además de las funcionalidades de la máquina desde cualquier seguimiento de rendimiento. La variabilidad en el entorno de destino puede significar diferencias en la forma en que la carga de trabajo afecta al usuario, al sistema y a la probabilidad de que se cumpla la directiva durante un período determinado.

Fecha límite

Puede haber varias restricciones de tiempo asociadas a la actividad. El trabajo o el trabajo de ejecución más largos que deben comenzar o completarse en una cantidad relativamente corta de tiempo pueden servirse mejor mediante condiciones menores para aumentar la probabilidad de que se abra la directiva. El trabajo de ejecución más corto o el trabajo que tenga requisitos de tiempo flexible pueden cumplir sus necesidades con las mejores condiciones. En períodos de tiempo más largos, es probable que el sistema de destino tenga períodos de bajo consumo de recursos. Si se acerca una fecha límite, se recomienda degradar la directiva si no se ha realizado suficiente progreso antes de recurrir a métodos de ejecución regulares después o después del enfoque de la fecha límite. Después, el trabajo recurrente puede cambiar a la directiva original tras la finalización.

Directivas de plantilla

La API incluye un conjunto de directivas de plantilla para el perfil de trabajo típico que se puede usar para empezar trivialmente con la API. Para la mayoría de los programas que realizan la computación local, se recomienda usar las directivas de plantilla.

Recomendación de directiva

De las directivas de plantilla proporcionadas, si no está seguro de cuál debe elegir, el ACTIVITY_COORDINATOR_POLICY_TEMPLATE_GOOD debe ajustarse a la factura de la mayoría de los casos. Esta directiva minimizará el impacto del usuario al tiempo que proporciona una probabilidad razonable de que la directiva esté suficientemente abierta para completar el trabajo del desarrollador.

Personalización de directivas de plantilla

Las directivas de plantilla pueden omitir algunos recursos (por ejemplo, GPU) que pueden no ser necesarios en casos de uso generales. En función de la carga de trabajo prevista, se puede personalizar una directiva mediante las directivas de plantilla como punto de partida.

Crear directivas desde cero

Los desarrolladores que requieren control total pueden empezar desde una directiva vacía: ACTIVITY_COORDINATOR_POLICY_TEMPLATE_EMPTY. Sin embargo, para estos escenarios se recomienda empezar con ACTIVITY_COORDINATOR_POLICY_TEMPLATE_BASE, que especifica los recursos y condiciones mínimos recomendados que se aplican a la mayoría de las situaciones. Esto ayuda a garantizar que las condiciones de recursos importantes no se omiten erróneamente al configurar una directiva desde cero, como los recursos de energía, CPU e inactividad del usuario.

Introducción a la API del coordinador de actividades

API y terminología del coordinador de actividades

Proyecto de ejemplo coordinador de actividades