Escolha a política certa do Coordenador de Atividades

Entender sua carga de trabalho de atividade

Determine os Recursos do Coordenador de Atividades que sua tarefa exige e em quais condições sua tarefa deve ser executada. Criar a criação de perfil da tarefa usando um rastreamento de desempenho é um bom lugar para começar.

Escolhendo recursos

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

Escolhendo condições

Escolha condições com base no consumo de recursos da 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 política com condições menores se ela não atender às suas necessidades dentro do período desejado. A partir das melhores condições e a transição para condições menores é preferível antes de executar quando sua política não é atendida (suas condições de recurso não são atendidas) para cumprir quaisquer prazos. Isso dá à API a chance de minimizar o impacto do usuário e do sistema de sua atividade, aumentando as oportunidades para sua atividade ser executada.

Para cargas de trabalho com consumo de recursos insignificante ou baixo, 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 usar condições quando o uso tem menos probabilidade de afetar a experiência do usuário, como ACTIVITY_COORDINATOR_CONDITION_GOOD. Essas 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 a Internet sob uma condição de rede média pode resultar em custo financeiro para o usuário se essa rede for limitada e cobrada.

Tenha em mente os tipos de dispositivos e configurações compatíveis com seu aplicativo, além dos recursos do computador de quaisquer rastreamentos de desempenho. A variabilidade no ambiente de destino pode significar diferenças na forma como sua carga de trabalho afeta o usuário, o sistema e a probabilidade de sua política ser atendida durante um determinado período.

Prazo

Pode haver várias restrições de tempo associadas à sua atividade. Trabalhos ou trabalhos de execução mais longa que precisam começar ou ser concluídos em um período relativamente curto de tempo podem ser melhor atendidos usando condições menores para aumentar a probabilidade de abertura da política. Trabalho de execução mais curto ou trabalho com requisitos de tempo livre podem ter suas necessidades atendidas usando as melhores condições. Em períodos de tempo mais longos, é provável que o sistema de destino tenha períodos de baixo consumo de recursos. Se um prazo estiver se aproximando, recomendamos rebaixar sua política se não houver progresso suficiente antes de recorrer a métodos de execução regulares após ou na abordagem do prazo. O trabalho recorrente pode alternar 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 usar as políticas de modelo.

Recomendação de política

Das políticas de modelo fornecidas, se você não tiver certeza sobre qual deve escolher, o ACTIVITY_COORDINATOR_POLICY_TEMPLATE_GOOD deverá se ajustar à conta para a maioria dos casos. Essa política minimizará o impacto do usuário, fornecendo uma probabilidade razoável de que a política esteja 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 geral. Com base na carga de trabalho antecipada, uma política pode ser personalizada usando as políticas de modelo como ponto de partida.

Criar políticas do zero

Os desenvolvedores que exigem controle total podem começar com uma política vazia: ACTIVITY_COORDINATOR_POLICY_TEMPLATE_EMPTY. No entanto, para esses cenários, é recomendável que você comece 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 as condições de recurso importantes não sejam erroneamente omitidas ao configurar uma política do zero, como recursos ociosos, de CPU e de energia.

Visão geral da API do Coordenador de Atividades

API e terminologia do Coordenador de Atividades

Projeto de exemplo do Coordenador de Atividades