O Jetpack Compose oferece excelente performance por padrão. Configure seu app usando práticas recomendadas para evitar armadilhas comuns e otimizar a performance do aplicativo Compose.
Comparação do Jetpack Compose
Para validar a performance do Jetpack Compose em relação às Views, usamos comparativos de referência principais, que se concentram em jornadas importantes e reais do usuário, como iniciar um app a frio ou rolar uma lista ou grade com imagens. Realizamos esses comparativos usando o app Pokedex de código aberto, comparando as implementações de Views e Compose.
Esses comparativos mostram que o Compose 1.9 e versões mais recentes correspondem ao desempenho do Views para jank durante a rolagem.
Para mais métricas e informações sobre nossas metodologias, consulte Comparativos de mercado principais.
Principais conceitos
Estes são alguns dos principais conceitos de performance no Compose:
- Fases:entender as fases de composição, layout e desenho é crucial para otimizar como o Compose atualiza a interface.
- Perfis de referência:esses perfis pré-compilam o código essencial, resultando em inicializações mais rápidas e interações mais fluidas.
- Estabilidade:aumente a estabilidade do app para pular recomposições desnecessárias de maneira mais eficiente e melhorar o desempenho.
Configurar o app corretamente
Se o app tiver uma performance ruim, isso pode significar que há um problema de configuração. Um bom ponto de partida é verificar as opções de configuração abaixo:
- Criar no modo de lançamento com o R8:tente executar o app no modo de lançamento. O modo de depuração é útil para detectar muitos problemas, mas causa um custo de performance e pode dificultar a detecção de outros problemas. Você também precisa ativar a otimização e a redução com o compilador R8 para garantir um build de lançamento eficiente e de alta performance.
- Use perfis de referência:eles melhoram a performance ao pré-compilar o código para jornadas ideais do usuário. O Compose inclui um perfil padrão, mas o ideal é criar um específico do app também. Saiba mais sobre os perfis de referência na documentação geral de desempenho do Android
Ferramentas
Conheça o conjunto de ferramentas disponíveis para ajudar você a medir e analisar a performance do seu app em Compose.
Práticas recomendadas
Ao desenvolver seu app com o Compose, siga estas práticas recomendadas:
- Evite cálculos caros:use
rememberpara armazenar em cache os resultados de cálculos caros. - Ajude layouts lentos:forneça chaves estáveis para layouts lentos usando o parâmetro
keypara minimizar recomposições desnecessárias. - Limite recomposições desnecessárias:use
derivedStateOfpara limitar recomposições ao mudar rapidamente de estado. - Adiar leituras de estado:adie as leituras de estado o máximo possível envolvendo-as em funções lambda.
- Use modificadores lambda para mudar o estado:use modificadores
baseados em lambda, como
Modifier.offset { ... }, para variáveis de estado que mudam com frequência. - Evite gravações inversas:nunca grave em um estado que já foi lido em um elemento combinável.
Para mais detalhes, consulte o guia de práticas recomendadas.
Visualizações
Se você estiver trabalhando com visualizações em vez do Compose, consulte o guia dedicado Melhorar o desempenho do layout.
Outros recursos
- Guia de desempenho do app: descubra práticas recomendadas, bibliotecas e ferramentas para melhorar o desempenho no Android.
- Inspecionar desempenho:Inspecione o desempenho do app.
- Comparativo de mercado:Compare o desempenho do app.
- Inicialização do app:otimizar a inicialização do app.
- Perfis de referência:entenda os perfis de referência.