Buckets do App em espera (original) (raw)

O Android 9 (nível 28 da API) e versões mais recentes têm suporte aos buckets do App em espera. Esses contêineres ajudam o sistema a priorizar solicitações de apps para recursos com base no modo e na frequência com que os aplicativos são usados. De acordo com os padrões de uso, cada app é colocado em um de cinco buckets de prioridade. O sistema limita os recursos do dispositivo disponíveis para cada app com base no bucket em que o aplicativo está.

Buckets de prioridade

O sistema atribui dinamicamente cada app a um bucket de prioridade, reatribuindo conforme necessário. O sistema pode se basear em um app pré-carregado que usa machine learning para determinar a probabilidade de uso de cada aplicativo e atribui apps aos buckets adequados.

Se o app do sistema não estiver presente em um dispositivo, o padrão será classificar os aplicativos com base na data em que eles foram usados. Os apps mais ativos são atribuídos a buckets com maior prioridade, disponibilizando mais recursos do sistema. Especificamente, o bucket determina com que frequência os jobs do app são executados e o app pode acionar alarmes. Essas restrições se aplicam somente enquanto o dispositivo está usando a energia da bateria. Enquanto o dispositivo está carregando, o sistema não impõe essas restrições.

Os buckets prioritários são os seguintes:

Além desses buckets prioritários, há um bucket nunca especial para apps instalados, mas que nunca são executados. O sistema impõe restrições severas a esses apps.

As descrições a seguir são para o caso não preditivo. Por outro lado, quando a previsão usa machine learning para prever um comportamento, os buckets são escolhidos antes das próximas ações do usuário, não com base no uso recente. Por exemplo, um app usado recentemente pode acabar no bucket raro porque o machine learning prevê que o aplicativo não será usado por várias horas.

Ativo

Um app fica no bucket ativo enquanto está sendo usado, se tiver sido usado muito recentemente ou quando:

Se um app estiver no bucket ativo, o sistema vai colocar restrições mínimas para jobs ou alarmes do app:

A interação do usuário atribui apps como ativos

No Android 9 (nível 28 da API) e versões mais recentes, quando o usuário interage com um app de determinadas maneiras, o sistema coloca o app temporariamente no bucket ativo. Depois que o usuário para de interagir com ele, o sistema coloca o app em outro bucket, de acordo com o histórico de uso.

Confira a seguir exemplos de interações que acionam esse comportamento do sistema:

Conjunto de trabalho

Um app vai para o bucket conjunto de trabalho quando é executado com frequência, mas não está ativo. Por exemplo, um app de mídia social que o usuário inicia quase todos os dias provavelmente estará no conjunto de trabalho. Os apps também são promovidos para esse bucket quando são usados indiretamente.

Quando um app está no bucket de conjunto de trabalho, o sistema impõe restrições moderadas à capacidade de executar jobs e acionar alarmes. Para saber detalhes, consulte Limites de recursos do gerenciamento de energia.

Frequentes

Um app vai para o bucket frequente quando é usado com regularidade, mas não necessariamente todos os dias. Por exemplo, um app de monitoramento de treinos que o usuário executa na academia pode estar no bucket frequente.

Se um app estiver nesse bucket, o sistema vai impor restrições mais rígidas à capacidade de executar jobs e acionar alarmes. Para saber detalhes, consulte Limites de recursos do gerenciamento de energia.

Rara

Um app vai para o bucket raro quando não é usado com frequência. Por exemplo, um app de hotel que o usuário executa somente quando se hospeda nesse local pode estar no bucket raro.

Se um app estiver nesse bucket, o sistema vai impor restrições rígidas à capacidade de executar jobs e acionar alarmes. O sistema também limita a capacidade do app de se conectar à Internet. Para saber detalhes, consulte Limites de recursos do gerenciamento de energia.

Restrito

Esse bucket, adicionado no Android 12 (nível 31 da API), tem a prioridade mais baixa e as restrições mais altas de todos os buckets. O sistema considera o comportamento do app, como a frequência com que o usuário interage com ele, para decidir se ele será colocado no bucket restrito.

No Android 13 (nível 33 da API) e versões mais recentes, exceto em casos em que há umaisenção, o sistema coloca o app no bucket restrito nas situações abaixo:

Se o sistema colocar o app no bucket restrito, as restrições abaixo serão aplicadas:

Isenções do bucket restrito

Os tipos de apps abaixo estão isentos de serem colocados no bucket restrito e ignorar o acionador de inatividade, mesmo no Android 12 e versões mais recentes:

Avaliar o bucket de prioridade

Para verificar a qual bucket seu app está atribuído, siga um destes procedimentos:

O sistema limita o app sempre que ele é colocado em um bucket do App em espera cujo valor é maior que STANDBY_BUCKET_ACTIVE (10).

Práticas recomendadas

Se o app estiver seguindo as práticas recomendadas para Soneca e App em espera, os recursos posteriores de gerenciamento de energia não serão difíceis. No entanto, o comportamento de alguns apps que funcionavam bem agora pode causar problemas.