Elegir la directiva de coordinador de actividades adecuada

Descripción de la carga de trabajo de actividad

Determine los recursos del coordinador de actividades que necesita 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 la carga de trabajo de actividad tendrá un impacto. No olvide que los recursos que consume o afectan 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 condiciones menores 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 cumple (sus condiciones de recursos no se cumplen) para cumplir las fechas límite. Esto ofrece a la API la oportunidad de minimizar el impacto del usuario y del sistema de la actividad, a la vez que aumenta las oportunidades para que se ejecute 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 ser utilizables 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 el modo 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 largo que necesiten 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. Un trabajo o trabajo de ejecución más corto que tenga requisitos de tiempo flexible puede que se cumplan 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 normales después o en el enfoque de la fecha límite. Después, volver a incurrir en el trabajo 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 a trabajar trivialmente con la API. Para la mayoría de los programas que realizan la informática 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é lo 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.

Creación de directivas desde cero

Los desarrolladores que requieren control total pueden comenzar desde una directiva vacía: ACTIVITY_COORDINATOR_POLICY_TEMPLATE_EMPTY. Sin embargo, en estos escenarios se recomienda empezar por 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 importantes de los recursos no se omiten por error 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