Considera-se que um app tem uma performance ruim se ele responde de forma lenta, mostra animações entrecortadas, trava ou consome muita bateria. A correção de problemas de performance envolve a identificação de áreas em que o app usa recursos de maneira ineficiente, como CPU, memória, gráficos, rede ou bateria do dispositivo.
Para encontrar e corrigir esses problemas, use as ferramentas e técnicas de criação de perfil e comparação descritas neste tópico. Para aprender técnicas de medição de desempenho e ver exemplos de como elas podem ser usadas para resolver problemas específicos, consulte Como medir o desempenho.
O Android Studio oferece várias ferramentas de criação de perfil para ajudar a encontrar e visualizar possíveis problemas:
- O CPU Profiler ajuda a monitorar problemas de desempenho no momento da execução.
- O Memory Profiler ajuda a monitorar alocações de memória.
- O Network Profiler monitora o uso do tráfego de rede.
- O Energy Profiler monitora o uso de energia, que pode aumentar o consumo da bateria.
Para ver mais informações sobre essas ferramentas, consulte a página Criadores de perfil do Android Studio.
As bibliotecas do Jetpack Benchmark permitem medir várias operações importantes do aplicativo:
- Macrobenchmark: faz a medição de casos de uso de desempenho importantes, incluindo inicialização e reexibição de aplicativos acionadas por ações como animações ou rolagem da IU.
- Microbenchmark: mede o custo da CPU de funções específicas.
Para saber mais sobre essas bibliotecas, consulte a página Comparar seu app.
Aplicativos com perfil
Profileable
é uma configuração de
manifesto apresentada no Android Q. Ela pode especificar se o usuário
do dispositivo tem permissão para criar perfis nesse aplicativo usando ferramentas como o Android Studio, Simpleperf e
Perfetto.
Antes da configuração profileable
, a maioria dos desenvolvedores só podia criar perfis para apps depuráveis no Android, o que
aumentava os custos de desempenho de maneira significativa. Esses custos podem invalidar os resultados
da criação de perfil, principalmente se estiverem relacionados ao tempo. A Tabela 1 resume as diferenças entre
apps depuráveis e com perfil.
Recurso | Depurável | Com perfil |
---|---|---|
Memory Profiler | Totalmente |
Sim: Não:
|
CPU Profiler | Totalmente |
Sim:
Não:
|
Network Profiler | Sim | Não |
Energy Profiler | Sim | Não |
Event Monitor | Sim | Não |
A configuração Profileable
foi apresentada para que os desenvolvedores possam permitir que os apps deles exponham
informações às ferramentas de criação de perfil gerando custos de desempenho muito baixos. Um APK com perfil
é essencialmente um APK de lançamento com uma linha de <profileable android:shell="true"/>
adicionada à seção <application>
do arquivo de manifesto.
Criar e executar um app com perfil automaticamente
É possível configurar, criar e executar um app com perfil em apenas um clique. Esse recurso requer um
dispositivo de teste físico ou virtual que execute o nível 29 ou mais recente da API e tenha o Google Play. Para usar,
clique na seta ao lado do ícone Profile app
e escolha entre duas opções:

Profile 'app' with low overhead inicia a CPU e os Memory Profilers. No Memory Profiler, apenas a opção Record Native Allocations fica ativada.
Profile 'app' with complete data inicia a CPU, os Memory Profilers e os Energy Profilers.
Criar e executar um app com perfil manualmente
Para criar um app com perfil manualmente, primeiro crie um aplicativo de lançamento e depois atualize o arquivo de manifesto dele, o que o transforma em um app com perfil. Depois de configurar o aplicativo com perfil, inicie o criador de perfil e selecione um processo para análise.
Criar um app de lançamento
Para criar um aplicativo de lançamento e permitir a criação de perfil, siga estas etapas:
-
Assine seu aplicativo com a chave de depuração adicionando as seguintes linhas ao arquivo
build.gradle
. Se você já tiver uma variante de build de lançamento funcionando, pule para a próxima etapa.buildTypes { release { signingConfig signingConfigs.debug } }
-
No Android Studio, selecione Build > Select Build Variant… e escolha a variante de lançamento.
Mudar de lançamento para com perfil
-
Converta o app de lançamento acima em um app com perfil abrindo o arquivo
AndroidManifest.xml
e adicionando a linha a seguir dentro de<application>
. Para conferir mais detalhes, consulte Criar o app para lançamento.<profileable android:shell="true"/>
-
Dependendo da versão do SDK, talvez seja necessário adicionar estas linhas ao arquivo
build.gradle
do aplicativo:aaptOptions { additionalParameters =["--warn-manifest-validation"] }
Criar perfil em um app com perfil
Para criar um perfil em um app com perfil, siga estas etapas:
-
No emulador ou dispositivo de desenvolvimento, abra o app.
-
No Android Studio, inicie o criador de perfil selecionando View > Tool Windows > Profiler.
-
Depois que o aplicativo for iniciado, clique no botão
no criador de perfil para ver o menu suspenso. Selecione seu dispositivo e a entrada do aplicativo em Other profileable processes.
-
O criador de perfil será anexado ao aplicativo. Somente a CPU e os Memory Profilers estão disponíveis, com capacidades limitadas para o Memory Profiler.