O Jetpack Compose oferece um excelente desempenho por padrão. Configure seu app usando as práticas recomendadas para evitar armadilhas comuns e otimizar o desempenho do aplicativo do Compose.
Habilidades do Android
Ver no GitHubDesempenho do Jetpack Compose
android skills add jetpack-compose-performanceComo fazer comparativos de mercado do Jetpack Compose
Para validar o desempenho do Jetpack Compose em relação às visualizações, usamos comparativos de mercado principais, que se concentram em jornadas importantes e reais do usuário, como a inicialização a frio de um app ou a rolagem de uma lista ou grade com imagens. Realizamos esses comparativos de mercado usando o app Pokedex de código aberto, comparando as implementações de visualizações e Compose.
Esses comparativos de mercado mostram que o Compose 1.9 e versões mais recentes correspondem à performance das visualizações para instabilidade durante a rolagem.
Para mais métricas e para aprender mais sobre nossas metodologias, consulte Comparativos de mercado principais.
Principais conceitos
Estes são alguns dos principais conceitos de desempenho no Compose:
- Fases:entender as fases de composição, layout e desenho é crucial para otimizar a forma como o Compose atualiza a interface.
- Perfis de referência:esses perfis pré-compilam códigos essenciais, o que resulta em inicializações mais rápidas do app e interações mais suaves.
- Estabilidade:entenda como o Compose compara parâmetros durante a recomposição para que você possa pular o trabalho desnecessário sem introduzir verificações de igualdade dispendiosas.
Configurar o app corretamente
Se o app tiver uma performance ruim, pode haver 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 o desempenho ao pré-compilar o código para jornadas ideais do usuário. O Compose inclui um perfil padrão, mas o ideal é que você também crie um específico para o app. Saiba mais sobre os perfis de referência na documentação geral de desempenho do Android
Ferramentas
Conheça o pacote de ferramentas disponíveis para ajudar você a medir e analisar o desempenho do seu app do Compose.
Práticas recomendadas
Ao desenvolver seu app com o Compose, lembre-se destas práticas recomendadas:
- Evite cálculos caros:use
rememberpara armazenar em cache os resultados de cálculos caros. - Ajude os layouts lentos:forneça parâmetros
keyecontentTypeestáveis para layouts lentos para minimizar recomposições desnecessárias e permitir a reutilização de slots. - Limite recomposições desnecessárias:use
computedStateOf(no Compose 1.13 e versões mais recentes) ouderivedStateOfpara limitar recomposições ao ler estados que mudam rapidamente. - Adiar leituras de estado:adie as leituras de estado pelo maior tempo 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 as práticas recomendadas, as bibliotecas e as 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:otimize a inicialização do app.
- Perfis de referência:entenda os perfis de referência.