Minimizar o efeito de atualizações regulares

A frequência ideal de atualizações regulares varia de acordo com o estado do dispositivo, a conectividade de rede, o comportamento do usuário e as preferências explícitas do usuário.

Como otimizar a duração da bateria discute como criar apps de baixo consumo de bateria que modificam a frequência de atualização com base no estado do dispositivo host. Isso inclui desativar as atualizações do serviço em segundo plano quando você perde a conectividade e reduzir a taxa de atualizações quando o nível da bateria está baixo.

Esta lição examinará como a frequência de atualização pode variar para diminuir melhor o efeito das atualizações em segundo plano na máquina de estado de rádio sem fio subjacente.

Usar o Firebase Cloud Messaging como uma alternativa à pesquisa

Toda vez que seu app pesquisa o servidor para verificar se uma atualização é necessária, você ativa o rádio sem fio, consumindo energia desnecessariamente, por até 20 segundos em uma conexão 3G típica.

O Firebase Cloud Messaging (FCM) é um mecanismo leve usado para transmitir dados de um servidor para uma instância de app específica. Usando o FCM, o servidor pode notificar seu app em execução em um dispositivo específico de que há novos dados disponíveis para ele.

Comparado à pesquisa, em que seu app precisa dar um ping regularmente no servidor para consultar novos dados, esse modelo orientado por eventos permite que o app crie uma nova conexão apenas quando souber que há dados para transferir por download. O modelo minimiza conexões desnecessárias e reduz a latência ao atualizar informações no seu app.

O FCM é implementado usando uma conexão TCP/IP persistente. Embora seja possível implementar seu próprio serviço de push, é melhor usar o FCM. Isso minimiza o número de conexões persistentes e permite que a plataforma otimize a largura de banda e minimize o impacto associado na duração da bateria.

Ferramentas de programação de rede

Se seu app precisa da pesquisa, a plataforma Android fornece várias ferramentas para ajudar você a criar uma programação eficiente para concluir tarefas de rede, como pesquisas. Para saber mais sobre o uso dessas ferramentas, consulte o Guia para processamento em segundo plano.