O Jetpack Compose oferece excelente desempenho por padrão. Configure seu app usando as práticas recomendadas para evitar problemas comuns e otimizar o desempenho do app Compose.
Principais conceitos
Estes são alguns dos principais conceitos para o desempenho no Compose:
- Fases:entender as fases de composição, layout e exibição é crucial para otimizar a forma como o Compose atualiza a interface.
- Perfis de referência:esses perfis pré-compilam o código essencial, levando a inicializações de app mais rápidas e interações mais tranquilas.
- Estabilidade:aumente a estabilidade do app para pular com mais eficiência as recomposições desnecessárias, melhorando o desempenho.
Configurar o app corretamente
Se o app estiver com baixo desempenho, talvez haja um problema de configuração. Uma boa primeira etapa é verificar as seguintes opções de configuração:
- Crie 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 impõe um custo de desempenho e pode dificultar a detecção de outros problemas. Também é necessário ativar a otimização e a redução com o compilador R8 para garantir um build de lançamento eficiente e com alto desempenho.
- Use perfis de referência:os perfis de referência melhoram a performance pré-compilando o código para jornadas ideais do usuário. O Compose inclui um perfil padrão, mas, idealmente, você também precisa criar um específico do app. Saiba mais sobre os perfis de referência nos documentos gerais de desempenho do Android.
Ferramentas
Conheça o pacote de ferramentas disponíveis para medir e analisar o desempenho do app Compose.
Práticas recomendadas
Ao desenvolver seu app com o Compose, não se esqueça destas práticas recomendadas:
- Evite cálculos caros:use
remember
para armazenar em cache os resultados de cálculos caros. - Ajudar layouts lentos:forneça chaves estáveis para layouts lentos usando o
parâmetro
key
para minimizar recomposições desnecessárias. - Limitar recomposições desnecessárias:use
derivedStateOf
para limitar as recomposições ao mudar o estado rapidamente. - Adie as leituras de estado:adie as leituras de estado o máximo possível envolvendo-as em funções lambda.
- Usar modificadores de lambda para mudar o estado:use modificadores baseados
em lambda, como
Modifier.offset { ... }
, para mudar variáveis de estado com frequência. - Evitar gravações inversas:nunca grave em um estado que já tenha sido 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 a performance do layout.
Outros recursos
- Guia de desempenho do app: conheça práticas recomendadas, bibliotecas e ferramentas para melhorar o desempenho no Android.
- Inspecionar o desempenho:inspecione o desempenho do app.
- Comparativo de mercado:comparativo de mercado do desempenho do app.
- Inicialização do app:otimiza a inicialização do app.
- Perfis de referência:entenda os perfis de referência.