O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Analisar dados do tráfego de rede com a ferramenta Network Traffic

A ferramenta Network Traffic está obsoleta. Se você está usando o Android Studio 3.0 ou versões posteriores, use o Network Profiler para analisar como e quando seu app transfere dados em uma rede.

Na seção anterior, você marcou o código do app com identificadores de tráfego, executou testes e coletou dados. Esta lição ensina a analisar os dados do tráfego de rede coletados e traz orientações de como melhorar o desempenho de rede do app e reduzir o consumo de energia.

Analisar o tráfego de rede do app

O uso eficiente dos recursos de rede por um app é caracterizado por períodos significativos em que o hardware de rede não é usado. Em dispositivos móveis, inicializar o rádio para enviar ou receber dados e manter o rádio móvel ativo por períodos longos são ações que envolvem um custo significativo. Se seu app acessar a rede de forma eficiente, você verá que a comunicação nela é bem agrupada e corretamente espaçada por períodos em que o app não faz solicitações de conexão.

A Figura 1 mostra um tráfego de rede insatisfatório para um app, conforme medido pela ferramenta Network Traffic. O app faz solicitações frequentes de rede. Esse tráfego tem poucos períodos de repouso em que o rádio pode alternar para um modo em espera de baixo consumo de energia. O comportamento de acesso à rede desse app provavelmente manterá o rádio ligado por períodos prolongados, o que gera um consumo de bateria ineficiente.

Figura 1. Atividade da rede com consumo de bateria ineficiente medida a partir de um app.

A Figura 2 mostra um padrão de tráfego de rede ideal. O app envia solicitações de rede em bursts, seguidos por longos períodos sem tráfego durante os quais o rádio pode alternar para o modo em espera. Este gráfico mostra a mesma quantidade de trabalho que a Figura 1, mas as solicitações foram deslocadas e agrupadas para permitir que o rádio fique em espera na maior parte do tempo.

Figura 2. Atividade de rede com consumo de bateria eficiente medida a partir de um app.

Se o tráfego de rede do seu app é semelhante ao do gráfico da Figura 2, você está indo bem. Parabéns! Se você quer melhorar ainda mais a eficiência da rede, consulte as técnicas descritas em Como otimizar o uso geral de rede.

Se o tráfego de rede do seu app se parece mais com o do gráfico da Figura 1, analise com mais detalhes o modo como ele acessa a rede. Comece analisando os tipos de tráfego de rede que seu app gera.

Analisar tipos de tráfego de rede

Ao analisar o tráfego de rede gerado pelo app, é preciso entender a origem do tráfego para poder otimizá-lo corretamente. A atividade de rede frequente gerada pelo app poderá ser totalmente correta se estiver respondendo a ações do usuário, mas completamente incorreta se seu app não estiver no primeiro plano ou se o dispositivo estiver dentro do bolso ou da mochila. Esta seção discute como analisar os tipos de tráfego de rede gerados pelo app e traz orientações de como melhorar o desempenho.

Na lição anterior, você marcou o código do app para diferentes tipos de tráfego e usou a ferramenta Network Traffic para coletar dados no app e produzir um gráfico de atividade, conforme mostrado na Figura 3.

Figura 3. Tráfego de rede marcado para as três categorias: usuário, app e servidor.

A ferramenta Network Traffic colore o tráfego com base nas tags criadas na lição anterior. As cores variam de acordo com as constantes que você definiu para o tipo de tráfego no código do app. Consulte novamente o código do app para verificar quais constantes representam o tráfego iniciado pelo usuário, pelo app ou pelo servidor.

As seções a seguir explicam como analisar os tipos de tráfego de rede e oferecem recomendações de como otimizar o tráfego.

Analisar o tráfego de rede iniciado pelo usuário

A atividade de rede iniciada pelo usuário pode ser eficientemente agrupada enquanto ele realiza uma atividade específica com o app ou distribuída sem uniformidade enquanto o usuário solicita mais informações que seu app precisa disponibilizar. Sua meta ao analisar o tráfego de rede iniciado pelo usuário é observar padrões de uso frequente da rede ao longo do tempo e tentar criar ou aumentar os períodos em que a rede não é acessada.

A imprevisibilidade das solicitações do usuário dificulta a otimização desse tipo de uso de rede no app. Além disso, os usuários esperam respostas rápidas quando estão usando um aplicativo. Portanto, atrasar as solicitações de eficiência pode resultar em experiências insatisfatórias. Em geral, priorize uma resposta rápida em detrimento do uso eficiente da rede enquanto o usuário interage diretamente com o app.

Veja algumas abordagens para otimizar o tráfego de rede iniciado pelo usuário:

Observação: cuidado com o viés do agrupamento de atividades da rede nos dados de teste da atividade do usuário. Se você executou um conjunto de cenários do usuário com seu plano de teste de rede, o gráfico de acesso à rede iniciado pelo usuário pode estar agrupado de forma não realista. Com isso, um comportamento do usuário que não ocorre de fato pode acabar sendo otimizado. Verifique se os cenários de teste de rede do usuário refletem o uso realista do app.

Analisar o tráfego de rede iniciado pelo app

Em geral, a atividade de rede iniciada pelo código do app é uma área em que pode haver um impacto significativo sobre o uso eficiente da largura de banda da rede. Ao analisar a atividade de rede do app, procure períodos de inatividade e determine se é possível aumentá-los. Se você vir padrões de acesso persistente à rede a partir do app, procure maneiras de espaçar esses acessos e permitir que o rádio do dispositivo alterne para o modo de baixo consumo de energia.

Veja algumas abordagens para otimizar o tráfego de rede iniciado pelo app:

Analisar o tráfego de rede iniciado pelo servidor

A atividade de rede iniciada por servidores que se comunicam com o app também costuma ser uma área em que pode haver um impacto significativo sobre o uso eficiente da largura de banda da rede. Ao analisar a atividade de rede a partir das conexões do servidor, procure períodos de inatividade e determine se é possível aumentá-los. Se você vir padrões de atividade de rede persistente dos servidores, procure maneiras de espaçar essa atividade e permitir que o rádio do dispositivo alterne para o modo de baixo consumo de energia.

Veja a seguir uma abordagem para otimizar o tráfego de rede iniciado pelo servidor: