Performance do Compose no Wear OS

A performance no Wear OS é uma consideração de app essencial, já que muitos dispositivos Wear OS têm recursos limitados de CPU e GPU em comparação com dispositivos móveis maiores. Você pode usar seu conhecimento sobre o Jetpack Compose para configurar e desenvolver seu app e melhorar a performance com o Compose para Wear OS, já que muitas das técnicas são semelhantes. No entanto, é importante entender como testar a performance do app no Wear OS.

Para entender melhor os conceitos de performance, assista aos vídeos Práticas recomendadas de performance e Criar apps bonitos e de baixo consumo energético para Wear OS (em inglês) no YouTube.

Técnicas para melhorar a performance

Para entender melhor a performance do app, tente executá-lo no modo de lançamento. O modo de depuração é útil para detectar muitos problemas, mas causa um custo de performance significativo e pode dificultar a detecção de outros problemas de código que podem prejudicar a performance. Além disso, o modo de depuração não usa perfis de referência, o que pode deteriorar ainda mais a performance. Você também precisa usar o compilador R8 para reduzir e otimizar seu app. Para mais informações sobre como remover recursos não utilizados, consulte Reduzir seus recursos.

Conheça as ferramentas do Android Studio, incluindo a Edição em tempo real, a Visualização do Compose e o emulador do Wear OS. Elas podem reduzir o tempo gasto na depuração do app em um smartwatch, o que pode melhorar a produtividade. O Android Studio tem um AVD de smartwatch integrado. Teste com as visualizações do Compose e a Edição em tempo real até que o app esteja funcionando conforme o esperado. Depois, teste em um dispositivo para ter um exemplo preciso da performance do app.

Use a biblioteca JankStats para monitorar e analisar problemas de performance nos seus aplicativos. Consulte o exemplo da JankStats (em inglês) no GitHub.

Usar um perfil de referência

Use um perfil de referência para melhorar a performance do app, definindo classes e métodos necessários em jornadas ideais do usuário. Para um guia detalhado sobre este tópico, consulte Perfis de referência. Cada biblioteca do Compose para Wear OS vem com regras de perfil próprias. Quando o app depende de uma biblioteca, as regras de perfil da biblioteca são automaticamente mescladas e distribuídas com o APK do app e são compiladas antecipadamente no dispositivo. Isso pode diminuir os tempos de inicialização, reduzir os frames instáveis e melhorar a performance.

Se você decidir definir seu próprio perfil de app, verifique se ele melhora a performance criando testes da Macrobenchmark. Consulte os Exemplos de performance (em inglês) no GitHub.

Comandos de perfil de referência

Existem alguns comandos úteis que você pode usar para ajudar a trabalhar com perfis de referência. Primeiro, determine o status do seu perfil executando o comando abaixo:

adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME

Se o status não for status=speed-profile, as regras ainda não foram aplicadas para otimizar o app.

As regras de perfil do Compose para Wear OS são aplicadas usando um job em segundo plano que é executado quando o dispositivo está carregado e inativo. Você pode acioná-lo manualmente executando o comando abaixo depois que o app for iniciado e tempo suficiente tiver passado para permitir que o instalador do perfil inicialize o perfil em segundo plano. Isso geralmente leva cerca de 40 segundos.

adb shell cmd package bg-dexopt-job

Em seguida, execute novamente o comando anterior para verificar se o status agora é speed-profile.

Para situações em que a otimização é realizada na instalação, consulte Transferir o perfil de referência por sideload.