lightbulb_outline Help shape the future of the Google Play Console, Android Studio, and Firebase. Start survey

Medir o desempenho do aplicativo com o Android Profiler

A nova janela Android Profiler no Android Studio 3.0 substitui as ferramentas do Android Monitor. Essas novas ferramentas de criação do perfil oferecem dados em tempo real sobre as atividades de CPU, memória e rede do aplicativo. Você pode rastrear pelo método baseado em amostra para cronometrar a execução do código, capturar despejos de pilha, ver alocações de memória e inspecionar os detalhes de arquivos transmitidos pela rede.

Para abrir a janela Android Profiler, siga estas etapas:

  1. Clique em View > Tool Windows > Android Profiler (você também pode clicar em Android Profiler na barra de ferramentas).
  2. Na parte superior da janela Android Profiler, como mostrado na figura 1, selecione o dispositivo 1 e o processo do aplicativo 2 para o qual você criar o perfil. Se você estiver conectado a um dispositivo por USB, mas o dispositivo não for exibido na lista, verifique se ativou a depuração de USB.

    Se você estiver usando o Android Emulator ou um dispositivo com acesso root, o Android Profiler listará todos os processos em execução, embora seja possível que não sejam depuráveis. Quando você lança um aplicativo depurável, esse processo é selecionado por padrão.

Agora, o Android Profiler exibe uma visualização de linha do tempo compartilhada (figura 1), que inclui uma linha de tempo com gráficos em tempo real para uso de CPU, memória e rede. A janela também incluir controles de zoom da linha do tempo 3, um botão para avançar até as atualizações em tempo real 4 e uma linha do tempo de eventos que mostra estados de atividade eventos de entrada do usuário e eventos de rotação de tela 5.

Depois de ser iniciado, o Android Profiler continuará a coletar dados de criação do perfil até que você desconecte o dispositivo ou clique em Close .

Figura 1. A visualização de linha do tempo compartilhada do Android Profiler

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 do perfil, clique no gráfico correspondente aos dados de desempenho que você quer inspecionar. Por exemplo, para acessar as ferramentas para inspecionar a pilha e rastrear alocações de memória, clique no gráfico MEMORY. As páginas dos links abaixo fornecem mais informações sobre cada janela de criador de perfil correspondente.

No entanto, nem todos os dados de criação do 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 obter mais documentação sobre cada uma das ferramentas de criação do perfil, consulte:

Ativar criação do perfil avançada

Para mostrar dados de criação do perfil avançada, o Android Studio deve injetar lógica de monitoramento no aplicativo compilado. Os recursos fornecidos pela criação do perfil avançada incluem:

  • 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 sobre todos os arquivos transmitidos no Network Profiler

Para ativar a criação do perfil avançada, siga estas etapas:

  1. Selecione Run > Edit Configurations.
  2. Selecione o módulo de aplicativo no painel esquerdo.
  3. Clique na guia Profiling e marque Enable advanced profiling.

Agora, compile e execute o aplicativo novamente para acessar o conjunto completo de recursos de criação do perfil. No entanto, fique ciente de que a criação do perfil avançada reduz a velocidade de compilação. Portanto, ative-a apenas quando quiser iniciar a criação do perfil do aplicativo.

Observação: a criação do perfil avançada não está disponível para código nativo. Se o aplicativo for um aplicativo nativo puro (não tem uma classe Activity do Java), os recursos da criação do perfil avançada não estarão disponíveis. Se o aplicativo usar JNI, alguns recursos da criação do perfil avançada estarão disponíveis, como a linha do tempo de eventos, os eventos de coleta de lixo (GC), os objetos alocados pelo Java e as atividades de rede baseadas no Java, mas não será possível detectar atividades nativas de alocações e rede.