0Pricing
Android Academy · Aula

Depuração e criação de perfis

Domine as ferramentas de depuração e criação de perfis do Android Studio: pontos de interrupção, Logcat, Timber, Memory Profiler, LeakCanary, CPU Profiler, Network Inspector e Layout Inspector.

Depuração e criação de perfis é uma aula grátis de Android Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Android Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Android Academy inclui 4 aulas no total.

Visão geral da depuração

A depuração é o processo de encontrar e corrigir erros. O Android Studio oferece ferramentas poderosas:

  • Depurador — pausa a execução, inspeciona variáveis e percorre o código passo a passo
  • Logcat — saída de registros em tempo real do dispositivo
  • Layout Inspector — inspeciona a hierarquia da interface em execução
  • Android Profiler — análise de CPU, memória e rede
  • Database Inspector — visualiza e consulta bancos de dados Room em tempo real

Logcat — Sua primeira ferramenta de depuração

Use Log para imprimir mensagens no Logcat. Use um TAG para filtrar seus registros:

import android.util.Log

class UserRepository {
    companion object {
        private const val TAG = "UserRepo"
    }

    fun fetchUsers() {
        Log.d(TAG, "fetchUsers() called")        // Debug
        Log.i(TAG, "Fetching ${users.size} users") // Info
        Log.w(TAG, "Cache is empty")               // Warning
        Log.e(TAG, "Network error: $exception")    // Error
    }
}

Timber — Registro em logs aprimorado

Timber é um invólucro simples sobre Log que remove as chamadas de registro das compilações de lançamento e adiciona automaticamente o nome da classe como TAG:

// app/build.gradle:
// implementation 'com.jakewharton.timber:timber:5.0.1'

// In Application.onCreate():
if (BuildConfig.DEBUG) {
    Timber.plant(Timber.DebugTree())
}

// Usage anywhere in the app (no TAG needed):
Timber.d("User loaded: %s", user.name)
Timber.e(exception, "Failed to fetch data")
Timber.w("Cache miss for key: %s", key)

Pontos de interrupção e o depurador

Etapas para depurar com pontos de interrupção no Android Studio:

  1. Clique na margem esquerda, ao lado de uma linha de código — um ponto vermelho aparecerá
  2. Execute o aplicativo com Depurar (ícone de um bug), em vez de Executar
  3. Quando a execução alcançar o ponto de interrupção, ela será pausada
  4. Inspecione as variáveis no painel Variáveis
  5. Use Step Over (F8) para avançar linha por linha e Step Into (F7) para entrar em uma função

Avaliar expressão

Enquanto estiver pausado em um ponto de interrupção, use Avaliar expressão (Alt+F8) para executar código Kotlin no escopo atual. Teste suas suposições sem reiniciar:

  • Verifique list.size e user.email.isNotBlank()
  • Chame qualquer método e veja o valor retornado
  • Inspecione objetos complexos diretamente no código

Profiler de memória

Encontre vazamentos de memória com o Profiler de memória (Visualizar → Janelas de ferramentas → Profiler):

  • Acompanhe o tamanho do heap ao longo do tempo — crescimento contínuo = provável vazamento
  • Force a coleta de lixo e observe se a memória diminui
  • Faça um despejo do heap para ver quais objetos estão ativos
  • Procure instâncias de Activity ou Fragment que já deveriam ter sido coletadas pelo GC

LeakCanary — Detecção automática de vazamentos

LeakCanary detecta e relata automaticamente vazamentos de memória como notificações nas compilações de depuração:

// app/build.gradle:
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12'

// That's it — no code changes needed!
// LeakCanary auto-installs via ContentProvider.
// When a leak is detected, it shows a notification with the leak trace.

// Common causes to watch for:
// - Static references to Context/Activity
// - Not releasing ViewBinding in onDestroyView()
// - Listeners registered to singletons but not unregistered

Profiler de CPU

Encontre gargalos de desempenho com o Profiler de CPU:

  • Grave um rastreamento enquanto realiza uma ação
  • Veja um gráfico de chamas para descobrir quais métodos levam mais tempo
  • Procure operações demoradas na thread principal — isso causa uma interface instável
  • Mova cálculos pesados para Dispatchers.IO ou Dispatchers.Default

Inspetor de rede

O Inspetor de rede mostra em tempo real todas as chamadas HTTP feitas pelo seu aplicativo:

  • Visualize a URL, o método, os cabeçalhos e o corpo da solicitação
  • Visualize o código, o corpo e o tempo da resposta
  • Identifique solicitações lentas ou com falha
  • Funciona imediatamente com OkHttp (usado pelo Retrofit)

Acesse-o em Visualizar → Janelas de ferramentas → Inspeção do aplicativo → Inspetor de rede.

Inspetor de banco de dados

Inspecione e consulte seu banco de dados Room em tempo real, em um dispositivo em execução:

  • Visualize as tabelas e seu conteúdo
  • Execute consultas SQL personalizadas
  • Acompanhe as mudanças nos dados enquanto usa o aplicativo

Acesse em Inspeção do aplicativo → Inspetor de banco de dados. Funciona com Room na API 26 ou superior.

Inspetor de layout

O Inspetor de layout mostra uma visualização 3D ao vivo da hierarquia da sua interface:

  • Selecione qualquer visualização para ver seus atributos (margens, preenchimento, texto e cor)
  • Identifique visualizações sobrepostas ou com visibilidade incorreta
  • Depure problemas de layout sem precisar fazer suposições

Acesse em Visualizar → Janelas de ferramentas → Inspetor de layout. Conecte-se a um aplicativo em execução em um dispositivo ou emulador.

StrictMode

StrictMode detecta operações acidentalmente lentas na thread principal (leituras de disco e chamadas de rede) e registra ou encerra o aplicativo nas compilações de depuração:

// In Application.onCreate() — debug builds only:
if (BuildConfig.DEBUG) {
    StrictMode.setThreadPolicy(
        StrictMode.ThreadPolicy.Builder()
            .detectDiskReads()
            .detectDiskWrites()
            .detectNetwork()
            .penaltyLog()      // log violations instead of crashing
            .build()
    )
}

Verificação rápida

Qual ferramenta detecta automaticamente vazamentos de memória nas compilações de depuração do Android sem exigir código adicional?

Recapitulação: depuração e criação de perfis

Encontre e corrija problemas com eficiência:

  • Logcat + Timber — registro em logs leve, removido automaticamente nas compilações de lançamento
  • Pontos de interrupção + Depurador — pausa e inspeciona a execução em tempo real
  • Profiler de memória — detecta crescimento do heap e vazamentos
  • LeakCanary — detecção automática de vazamentos com um rastreamento de pilha
  • Profiler de CPU — encontra métodos lentos na thread principal
  • Inspetor de rede — monitora chamadas HTTP
  • Inspetor de banco de dados — consulta o Room em tempo real
  • StrictMode — detecta operações de IO acidentais na thread principal

Parabéns — você concluiu o curso completo de desenvolvimento Android!

Perguntas Frequentes

A aula “Depuração e criação de perfis” é grátis?

Sim — o texto completo de “Depuração e criação de perfis” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Android Academy, atualize para CoddyKit PRO. O curso de Android Academy inclui 4 aulas no total.

O que vou aprender em “Depuração e criação de perfis”?

Domine as ferramentas de depuração e criação de perfis do Android Studio: pontos de interrupção, Logcat, Timber, Memory Profiler, LeakCanary, CPU Profiler, Network Inspector e Layout Inspector. Você pratica Android Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Android Academy?

Nenhuma experiência prévia é necessária. Android Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Depuração e criação de perfis”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Android Academy?

Sim. Cada aula de Android Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Testes unitários com JUnit
  2. Simulação com Mockito
  3. Testes de interface com Espresso
  4. Depuração e criação de perfis
← Voltar para Android Academy