Escolha a política certa do Coordenador de Atividades

O Coordenador de Atividades fornece várias políticas de modelo, que devem ser selecionadas com base nos recursos exigidos pela sua tarefa.

Entenda a carga de trabalho da sua atividade

Determine os Recursos do Coordenador de Atividades que sua tarefa requer e em quais condições ela deve ser executada. Criar o perfil da tarefa usando um rastreamento de desempenho é um bom ponto de partida.

Escolhendo recursos

Escolha recursos derivados do rastreamento de desempenho. Esses recursos devem ser aqueles sobre os quais sua carga de trabalho de atividade terá impacto. Não se esqueça dos recursos que você consome ou afeta implicitamente, como ociosidade do usuário e energia.

Escolhendo as condições

Escolha condições com base no consumo de recursos de sua carga de trabalho, conforme observado no rastreamento de desempenho. Em geral, recomendamos usar as melhores condições para os recursos necessários e, se necessário, atualizar sua apólice com condições menores se ela não atender às suas necessidades dentro do prazo desejado. Começar com as melhores condições e fazer a transição para condições menores é preferível antes de executar quando sua política não está satisfeita (suas condições de recursos não são satisfeitas) para cumprir quaisquer prazos. Isso dá à API a chance de minimizar o impacto da sua atividade no usuário e no sistema, aumentando as oportunidades para que ela seja executada.

Para cargas de trabalho com baixo consumo de recursos, condições como ACTIVITY_COORDINATOR_CONDITION_MEDIUM podem ser utilizáveis sem afetar negativamente o sistema. Cargas de trabalho com maior consumo são mais adequadas para condições de uso quando o uso tem menos probabilidade de afetar a experiência do usuário, como ACTIVITY_COORDINATOR_CONDITION_GOOD. Tais cargas de trabalho são mais propensas a causar impacto significativo ao usar condições menores, e esses impactos podem não ser transitórios por natureza. Por exemplo, consumir internet em uma condição de rede média pode resultar em custo financeiro para o usuário se essa rede for limitada e cobrada.

Lembre-se dos tipos de dispositivos e configurações que seu aplicativo suporta, além dos recursos da máquina a partir de quaisquer rastreamentos de desempenho. A variabilidade no ambiente de destino pode significar diferenças em como sua carga de trabalho afeta o usuário, o sistema e a probabilidade de sua política ser satisfeita em um determinado período.

Data limite

Pode haver várias restrições de tempo associadas à sua atividade. O trabalho de execução mais longa ou o trabalho que precisa começar ou ser concluído em um período de tempo relativamente curto pode ser melhor atendido usando condições menores para aumentar a probabilidade de abertura da política. Trabalhos de execução mais curtos ou que tenham requisitos de tempo solto podem ter suas necessidades atendidas usando as melhores condições. Em prazos mais longos, é provável que o sistema alvo tenha períodos de baixo consumo de recursos. Se um prazo estiver se aproximando, recomendamos fazer o downgrade de sua política se não houver progresso suficiente antes de recorrer a métodos de execução regulares após ou após a aproximação do prazo. O trabalho recorrente pode então mudar para a política original após a conclusão.

Políticas de modelo

A API vem com um conjunto de políticas de modelo para o perfil de trabalho típico que pode ser usado para começar trivialmente com a API. Para a maioria dos programas que fazem computação local, recomendamos o uso das políticas de modelo.

Recomendação de política

Das políticas de modelo fornecidas, se você não tiver certeza sobre qual delas deve escolher, a ACTIVITY_COORDINATOR_POLICY_TEMPLATE_GOOD deve se encaixar na conta para a maioria dos casos. Essa política minimizará o impacto do usuário e, ao mesmo tempo, fornecerá uma probabilidade razoável de que a política seja suficientemente aberta para concluir o trabalho do desenvolvedor.

Personalizar políticas de modelo

As políticas de modelo podem omitir alguns recursos (por exemplo, GPU) que podem não ser necessários em casos de uso gerais. Com base na carga de trabalho prevista, uma política pode ser personalizada usando as políticas de modelo como ponto de partida.

Crie políticas do zero

Os desenvolvedores que precisam de controle total podem começar a partir de uma política vazia: ACTIVITY_COORDINATOR_POLICY_TEMPLATE_EMPTY. No entanto, para esses cenários, é recomendável começar com ACTIVITY_COORDINATOR_POLICY_TEMPLATE_BASE, que especifica os recursos e condições mínimos recomendados que se aplicam à maioria das situações. Isso ajuda a garantir que condições importantes de recursos não sejam omitidas por engano ao configurar uma política do zero, como ociosidade do usuário, CPU e recursos de energia.

Visão geral da API do Coordenador de Atividades

Coordenador de Atividades API e terminologia

Exemplo de projeto de Coordenador de Atividades