DEV Community

Cover image for Medindo o desempenho de um aplicativo em React Native
Gabriel Bonin
Gabriel Bonin

Posted on

Medindo o desempenho de um aplicativo em React Native

Por que é importante dar atenção ao desempenho de um Aplicativo?

Image description

Diferença de desempenho entre dispositivos android x iOS

Image description

Impactos de um aplicativo com baixo desempenho

  • Afeta diretamente a experiência do usuário
  • Avaliação (nota baixa) nas plataformas

1% de atraso no carregamento de uma página ou tela pode causar:

  • 11% de perda de visualização
  • 16% de diminuição na satisfação do cliente
  • 7% de perda em conversões

Como melhorar o desempenho de um Aplicativo?

  • Reduzir o numero de renderizações e re-renderizações
  • Utilizar Flatlist ao invés de ScrollView
  • Explorar Partitioning e Lazy Loading (Aplicações que utilizam muita memória
  • Otimizar Imagens (FastImage)
  • Utilizar Componentes Nativos sempre que possível (Text, View, Scroll, Flatlist, Image)
  • Diminuir a utilização de bibliotecas de terceiros
  • Otimizar o código Java Script (RN-Debugger, Hermes, etc) Image description

Ferramentas

Métricas

Image description

  1. Emular ou utilizar um dispositivo "fraco" (Ex: Samsung J3 2017)
  2. Desligar o JS DEV-MODE
  3. Aguarde o início da renderização do componente e depois inicie os testes
  4. Tempo médio indicado para testes: 10 segundos
  5. Em caso de Listas (Flatlists/ScrollView) deslize os itens da lista para cima e para baixo manualmente ou utilize comandos:
 adb shell input swipe 500 1000 300 300 10
Enter fullscreen mode Exit fullscreen mode

(varia com o tamanho e tipo de device)

  1. Repita os testes entre 3 e 5 vezes

Casos de uso

Análise de desempenho em:

Componente com Flatlist
Enter fullscreen mode Exit fullscreen mode

Antes de aplicar métricas de desempenho:

Image description

Após aplicar métricas de desempenho:

Image description

Componente de Player de video customizado
Enter fullscreen mode Exit fullscreen mode

Antes de aplicar métricas de desempenho:
Image description

Após aplicar métricas de desempenho:
Image description

Resultado analisado pelo plugin React Native Performance Monitor Flipper plugin

Image description

Referências

Top comments (0)