O Android Profiler

O Android Profiler no Android Studio 3.0 e versões mais recentes substitui as ferramentas do Android Monitor. As ferramentas do Android Profiler oferecem dados em tempo real para ajudar a entender como seu app usa recursos de CPU, memória, rede e bateria.

Para mais informações sobre cada criador de perfil, consulte:

O Android Profiler é compatível com o Android 5.0 (API de nível 21) e versões posteriores.

Veja a seguir um vídeo de introdução ao Android Profiler.

Para abrir a janela Profiler, selecione View > Tool Windows > Profiler ou clique em Profile na barra de ferramentas. Se a caixa de diálogo Select Deployment Target solicitar, selecione o dispositivo no qual o perfil do app será criado. Se você conectou um dispositivo por USB, mas não o encontrou na lista, verifique se a depuração USB está ativada. Se você estiver usando o Android Emulator ou um dispositivo com acesso root, o Android Profiler vai listar todos os processos em execução, mesmo que eles não sejam depuráveis. Quando você iniciar um app depurável, esse processo será selecionado por padrão.

O Android Profiler continuará coletando dados de criação de perfil até você desconectar o dispositivo ou clicar em End Session.

Figura 1. Visualização da linha do tempo compartilhada do Android Profiler

1 O Android Profiler mostra o processo e o dispositivo em que o perfil está sendo criado.

2 No painel Sessions, inicie uma nova sessão de criação de perfil ou escolha a que quer visualizar.

3 Use os botões de zoom para controlar a parte da linha do tempo a ser visualizada ou use o botão Attach to live para acessar as atualizações em tempo real.

4 A linha do tempo de eventos mostra os eventos relacionados à entrada do usuário, incluindo a atividade do teclado, mudanças no controle de volume e rotações da tela.

5 A visualização da linha do tempo compartilhada, que inclui gráficos de uso de CPU, memória, rede e energia.

Essa visualização de linha do tempo compartilhada mostra apenas os gráficos da linha do tempo. Para acessar as ferramentas detalhadas de criação de perfil, clique no gráfico que corresponde aos dados de performance que você quer inspecionar. Por exemplo, para acessar as ferramentas de modo para inspecionar o heap e monitorar as alocações de memória, clique no gráfico Memory.

No entanto, nem todos os dados de criação de perfil são visíveis por padrão. Se for exibida a mensagem "A criação do perfil avançada não está disponível para o processo selecionado", será preciso ativar a criação do perfil avançada na configuração de execução para visualizar mais dados.

Sessões

É possível salvar os dados do Profiler como sessões, que são mantidas até que você saia do Android Studio. Ao gravar informações de criação de perfil em várias sessões e alternar entre elas, você pode comparar o uso de recursos em vários cenários.

  • Para iniciar uma nova sessão, clique no botão Start a new profiling session e selecione um processo de app no menu suspenso exibido.

    Quando você grava um trace ou captura um dump de heap, o Android Studio adiciona esses dados à sessão atual, junto à atividade de rede do app, como uma entrada separada.

  • Para interromper a adição de dados à sessão atual, clique em Stop the current profiling session .

  • Para importar um trace exportado de uma execução anterior do Android Studio, clique em Start new profiler session e escolha Load from file.

Ativar compatibilidade extra com dispositivos mais antigos (nível da API anterior ao 26)

Para exibir mais dados de criação de perfil ao executar um dispositivo com o Android 7.1 ou versões anteriores, o Android Studio precisa injetar a lógica de monitoramento no app compilado. Esses dados de criação de perfil adicionais incluem o seguinte:

  • A linha do tempo de eventos em todas as janelas de criador de perfil
  • O número de objetos alocados no Memory Profiler
  • Eventos de coleta de lixo no Memory Profiler
  • Detalhes de todos os arquivos transmitidos no Network Profiler

Para ativar o suporte extra para dispositivos mais antigos, siga estas etapas:

  1. Selecione Run > Edit Configurations.
  2. Selecione o módulo do app no painel esquerdo.
  3. Clique na guia Profiling e marque Enable additional support for older devices (API level < 26).
  4. Compile e execute o app novamente.

A ativação de compatibilidade extra com dispositivos mais antigos torna o processo de compilação mais lento. Portanto, ative-a somente quando quiser iniciar a criação de perfil do app.

Executar criadores de perfis independentes

Os criadores de perfil independentes do Android Studio permitem criar perfis de app sem executar o ambiente de desenvolvimento integrado completo do Android Studio.

Para executar os criadores de perfil independentes, faça o seguinte:

  1. Verifique se o criador de perfil não está sendo executado junto do Android Studio.
  2. Acesse o diretório de instalação e navegue até o diretório bin:

    Windows/Linux: <studio-installation-folder>/bin

    macOS: <studio-installation-folder>/Contents/bin

  3. Dependendo do seu SO, execute profiler.exe ou profiler.sh. A tela de apresentação do Android Studio é exibida.

    Depois que a tela de apresentação desaparece, uma janela do criador de perfil é aberta:

  4. Inicie o Android Emulator ou conecte um dispositivo Android e aguarde o carregamento da tela inicial. Para executar o emulador a partir da linha de comando, consulte Iniciar o emulador a partir da linha de comando. Se você iniciar o emulador a partir do Android Studio, feche o Android Studio após o emulador ser iniciado.

    No menu do criador de perfil autônomo, clique no botão para que todos os seus dispositivos e emuladores conectados sejam exibidos:

    Por exemplo, abra o Google Maps no emulador. Crie uma nova sessão de criação de perfil selecionando um emulador na lista suspensa e selecione com.google.android.apps.maps (...). Isso inicia uma sessão de criação de perfil.

Quando você interage com o mapa, os eventos de toque e o uso da CPU aparecem no criador de perfil. Clique nos gráficos CPU, Memória, Rede ou Energia para mostrar mais detalhes.

Clique no botão para encerrar a sessão de criação de perfil.