O desempenho do ambiente de execução do app pode ser dividido entre testes locais e de campo. Lembre-se de que essas duas áreas fornecem resultados e métricas diferentes. Contanto que os resultados sejam conclusivos, essa divergência é aceitável.
Teste de campo
O teste de campo ajuda você a entender o desempenho de um app com usuários reais em condições reais. Essa é uma área importante e ajuda a entender como um app funciona no campo. Você pode usar ferramentas como o Google Play Vitals e o Monitoramento de desempenho do Firebase para receber métricas de campo dos usuários.
Você pode usar a biblioteca AndroidX Tracing para adicionar pontos de rastreamento, o que oferece mais contexto e insights às métricas de campo.
Você também pode usar ApplicationStartInfo
e ApplicationExitInfo
para
receber informações mais detalhadas sobre a inicialização e a saída do aplicativo pelos usuários.
A biblioteca AndroidX JankStats permite a agregação e a geração de relatórios de frames lentos e descartados para análise mais detalhada.
Teste local
Para testar localmente o desempenho de execução de um app, fornecemos a biblioteca de comparativo de mercado. Ela é dividida na biblioteca macrobenchmark, que pode ser usada para testar o desempenho de fluxos de usuários inteiros, e na biblioteca microbenchmark, que é usada para analisar o desempenho do loop ativo de um aplicativo ou biblioteca.
Todos os testes de desempenho precisam ser executados em um dispositivo físico. Essa é a única maneira de garantir que a performance que você está medindo é a performance real ocorrendo em um dispositivo. Os testes de desempenho de execução vão produzir resultados diferentes, dependendo do dispositivo em que são executados e do nível de uso do dispositivo.
O desempenho do aplicativo pode regredir. Para evitar regressões, é importante executar testes de desempenho com frequência. Em um cenário ideal, um app é comparado sempre que um novo recurso é adicionado ou o código é mesclado à ramificação principal. O mínimo necessário de monitoramento de desempenho é comparar os candidatos à versão e verificar se o tempo de inicialização e o tempo de frame não regrediu para as principais jornadas do usuário. Recomendamos que você execute comparações de mercado sempre que possível, por exemplo, antes de mesclar um recurso para a ramificação principal ou para builds noturnos.
Usar os resultados
Os testes de desempenho são um processo contínuo. Recomendamos que você armazene os resultados dos testes de performance de uma forma que possam ser comparados ao longo do tempo.
É possível usar os resultados dos testes de desempenho de várias maneiras.
- Melhoria na performance: use os resultados das medições para priorizar a melhoria da performance
- Prevenção de regressões: verifique se não há regressões de desempenho com novos lançamentos.
- Monitoramento da produção: entenda se há problemas que não aparecem durante o desenvolvimento
Para saber mais sobre o teste de desempenho do ambiente de execução do Android, consulte o guia de desempenho do app.