Casos de sucesso
O Monzo aumenta as métricas de desempenho em até 35% com uma atualização simples do R8
Leitura de 2 minutos
O Monzo é um banco digital do Reino Unido com 15 milhões de clientes e em crescimento. À medida que o app crescia, a equipe de engenharia identificou o tempo de inicialização como uma área essencial para melhorias, mas se preocupou com a necessidade de mudanças significativas no código.
Ao ativar totalmente as otimizações do R8, o Monzo conseguiu uma redução de 35% na taxa de "O app não está respondendo" (ANR, na sigla em inglês). Essa mudança simples mostrou que otimizações impactantes nem sempre exigem esforços complexos de engenharia.
Como desbloquear grandes ganhos de desempenho com o modo completo do R8
O Monzo identificou o modo completo do R8 como uma correção fácil que valia a pena tentar. E funcionou, melhorando o desempenho em geral:
- Confiabilidade de inicialização:as inicializações a frio melhoraram em 30%, as inicializações a quente em 24% e as inicializações a quente em 14%.
- Velocidade de inicialização:os tempos de inicialização P50 melhoraram em 11% e os tempos de inicialização P90 em 12%.
- Eficiência:o tamanho geral do app foi reduzido em 9%.
- Estabilidade:redução de 35% na taxa de ANR.
Como ativar otimizações com uma única mudança
Muitos apps Android usam um arquivo de configuração padrão desatualizado que desativa a maioria das funcionalidades do otimizador R8. A principal mudança que o Monzo fez para desbloquear essas melhorias de desempenho foi substituir o arquivo padrão proguard-android.txt por proguard-android-optimize.txt. Essa mudança remove a instrução -dontoptimize e permite que o R8 faça o trabalho corretamente.
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
)
}
}
Depois de fazer essa mudança, vale a pena conferir os arquivos de configuração do Keep. Esses arquivos informam ao R8 quais partes do código devem ser deixadas de lado (geralmente porque são chamadas dinamicamente ou por bibliotecas externas). Limpar as regras desnecessárias do Keep significa que o R8 pode fazer mais.
Como melhorar o desempenho de rolagem com perfis de referência
Para melhorar ainda mais a experiência do usuário, o Monzo implementou perfis de referência, segmentando especificamente o desempenho de rolagem e renderização no feed principal. Essa estratégia garantiu que as jornadas de usuário mais comuns (abrir o app e rolar o feed) fossem totalmente otimizadas. O impacto na renderização foi substancial: o desempenho de rolagem P90 ficou 71% mais rápido, e o desempenho de rolagem P95 melhorou em 87%. Agora, rolar o app é mais suave do que antes.
O Monzo incorporou isso ao processo de lançamento para manter essas melhorias ao longo do tempo. "Acionamos a geração de perfis de referência todos os dias da semana (antes de executar nossas builds noturnas) e confirmamos as mudanças mais recentes assim que concluídas", explica Neumayer.
Como acompanhar o Modern Android Development
A experiência do Monzo mostra o que é possível quando você fica atualizado com as recomendações de ferramentas de build do Android. Embora os apps legados geralmente tenham dificuldades com o uso complexo de reflexão, o Monzo achou a transição simples ao documentar as regras de manutenção corretamente. "Sempre adicionamos um comentário explicando por que as regras de manutenção estão em vigor, para que saibamos quando é seguro removê-las", observa Neumayer.
O conselho de Neumayer para outras equipes? Verifique regularmente suas práticas em relação aos padrões atuais: "Confira as recomendações mais recentes do Google sobre o desempenho do app e verifique se você está seguindo todos os conselhos mais recentes".
Para começar e saber mais sobre o R8, acesse https://d.android.com/r8
Continuar lendo
-
Casos de sucesso
O Karrot é um app de marketplace hiperlocal e orientado pela comunidade que permite aos usuários comprar, vender e trocar itens com outros usuários verificados. Desde o lançamento na Coreia do Sul em 2015, a plataforma se expandiu para mercados globais, acumulando mais de 43 milhões de usuários registrados.
Thomas Ezan, Tracy Agyemang • Leitura de 2 minutos
-
Casos de sucesso
No mundo dinâmico das redes sociais, a atenção do usuário é ganha ou perdida rapidamente. Os apps da Meta (Facebook e Instagram) estão entre as maiores plataformas sociais do mundo e atendem bilhões de usuários globalmente.
Mayuri Khinvasara Khabya, Tracy Agyemang • Leitura de 4 minutos
-
Casos de sucesso
Criar um app Android para um wearable significa que o trabalho real começa quando a tela é desligada.
Breana Tate, Tracy Agyemang • Leitura de 4 minutos
Fique por dentro
Receba os insights mais recentes sobre o desenvolvimento do Android na sua caixa de entrada semanalmente.