Realizar trabalho em segundo plano é uma parte essencial da criação de apps Android modernos que são responsivos, eficientes e funcionam bem no dispositivo do usuário. O trabalho em segundo plano abrange qualquer tarefa que o app precise realizar quando não está visível em primeiro plano, como buscar dados de um servidor ou processar imagens.

Navegar pelas complexidades da execução em segundo plano é fundamental para criar aplicativos resilientes que funcionam bem em todos os dispositivos.

Começar a usar o trabalho em segundo plano

Consulte o guia sobre como escolher a API de trabalho em segundo plano certa para seu caso de uso e considere isso no contexto do processo e do ciclo de vida do app no Android.
Guia
Escolher a API de trabalho em segundo plano certa pode ser complexo. Esta página oferece orientações claras sobre quando usar trabalho assíncrono, WorkManager, serviços em primeiro plano ou uma opção alternativa. Saiba qual API é a melhor para seu caso de uso específico.
Guia
Conheça os conceitos fundamentais do ciclo de vida do processo do Android e como ele afeta o comportamento do seu app e o gerenciamento de recursos. Saiba como o sistema gerencia os processos de apps com base no estado de atividade, permitindo que você crie aplicativos resilientes e eficientes que respondem adequadamente a encerramentos iniciados pelo sistema.

Principais conceitos

Algumas das APIs e ferramentas mais comuns para realizar trabalho em segundo plano incluem WorkManager, serviços em primeiro plano, alarmes e transmissões. Cada solução tem implicações diferentes para a duração da bateria dos dispositivos dos usuários.
O WorkManager é a solução recomendada para trabalhos persistentes em segundo plano no Android. Aprenda a usar essa biblioteca eficiente para programar tarefas que persistem em reinicializações de apps e dispositivos, além de entender os principais recursos dela para lidar com restrições e políticas de repetição flexíveis.
Os serviços em primeiro plano oferecem uma maneira eficiente de executar tarefas imediatamente que não devem ser interrompidas. Saiba quando e como declarar, iniciar e interromper um serviço em primeiro plano com uma notificação persistente, garantindo que seu app execute tarefas críticas sem ser encerrado pelo sistema.
Os alarmes são uma ferramenta essencial para programar tarefas com base no tempo. Esta página explica como usar o AlarmManager para programar alarmes exatos e inexatos para tarefas que precisam ser executadas em um horário específico ou dentro de um determinado período, mesmo quando o app não está em execução. Ele também aborda as práticas recomendadas para gerenciar alarmes e garantir que eles sejam otimizados para a duração da bateria.
Aprenda a enviar e receber transmissões para processar eventos do sistema e mensagens de outros apps. Você também vai aprender sobre receptores registrados no contexto e declarados no manifesto, além das restrições modernas do sistema que se aplicam a eles.

Orientação de plano de fundo por caso de uso

A solução certa varia de acordo com seu caso de uso. O Android oferece muitas APIs específicas para tarefas, que são otimizadas para cenários específicos e geralmente resultam em maior economia de energia e menos restrições do que ao usar o WorkManager e os serviços em primeiro plano.

Esta seção lista alguns dos casos de uso mais comuns e a solução recomendada.

A maioria dos casos de uso só exige a localização quando o usuário está interagindo com o app. No entanto, se o app precisar acessar a localização em segundo plano, use a API Fused Location Provider. Use essa API para receber a última localização conhecida em cache ou solicitar atualizações periódicas de localização.
Atualize os GlanceAppWidgets de maneira eficiente quando o app estiver em segundo plano usando o método de atualização.
Usar o Bluetooth de baixa energia (BLE) para se comunicar com dispositivos periféricos em segundo plano. Aprenda a fazer a leitura, conectar e manter uma conexão persistente com dispositivos, respeitando as restrições no nível do sistema e economizando bateria.
Para rastrear etapas em dispositivos móveis, considere ler as etapas da Conexão Saúde, o repositório de dados do Android para dados de saúde e fitness.
Para tarefas em segundo plano iniciadas pelo usuário que envolvem transferência de dados (incluindo download e upload) e têm como objetivo manter o usuário informado sobre o progresso, use o tipo de job de transferência de dados iniciada pelo usuário. Esse tipo de job é otimizado para transferências de dados de longa duração e recebe prioridade do sistema.
Use a biblioteca Media3 para oferecer suporte à reprodução em segundo plano enquanto o app não está visível para o usuário.

Entenda as otimizações de energia

Considerar os efeitos do trabalho em segundo plano no consumo de energia é crucial para criar apps Android de alta qualidade. Ele permite criar apps mais resilientes e eficientes em termos de bateria ao entender como o sistema gerencia os recursos. A otimização para energia reduz o consumo de bateria, evita que o app seja encerrado pelo sistema e oferece uma experiência do usuário mais fluida.
Guia

O sistema prioriza as solicitações de recursos dos apps com base no estado do dispositivo, no estado do app e no bucket de espera do app.

Saiba como seu app pode funcionar dentro dos limites do recurso de gerenciamento de energia do dispositivo para executar tarefas em segundo plano de maneira confiável.

Guia
Seu app pode precisar impedir que a CPU do dispositivo entre no estado suspenso para concluir um trabalho crítico. Este guia ajuda você a selecionar os métodos mais adequados para manter um dispositivo ativado.
Guia
Saiba como adaptar seu app para os recursos Soneca e App em espera, melhorar a eficiência da bateria e a experiência do usuário. Ao entender esses modos de economia de energia, você pode garantir que seu app funcione de maneira ideal e minimizar o impacto na duração da bateria do dispositivo.
Guia
A partir do Android 9, os dispositivos têm recursos de gerenciamento de energia que afetam todos os apps. Saiba como testar seu app para garantir que ele funcione corretamente em todos os dispositivos, incluindo recursos como economia de bateria, buckets de App em espera e restrições em segundo plano.

Últimas notícias