prasad-vennam/awesome-android-ai-agent-skills

android-performance-audit

Use when profiling Android apps, debugging memory leaks, optimizing Compose UI, or improving app startup time.

Ver código-fonte

Como usar

  1. Copie o comando e verifique o pacote antes de instalar no seu ambiente de agente.
  2. Consulte no original as ferramentas, credenciais e ambientes necessários.
  3. Descreva os dados de entrada e a entrega esperada; confira a saída com as fontes.
npx skills add https://github.com/prasad-vennam/awesome-android-ai-agent-skills --skill android-performance-audit

Antes de começar

  • A instalação não inclui assinatura de modelo, franquia API ou acesso aos seus arquivos.
  • Estrelas e instalações indicam atividade, não um teste independente de qualidade ou segurança.
Documento original do Skill

Renderizado do repositório de origem, preservando títulos, exemplos, código, tabelas, links e imagens.

Android Performance Auditing 🚀⏱️

Expert strategies for profiling and optimizing Android applications to ensure smooth, responsive, and efficient user experiences.

⚡ When to Use

  • UI Lag: Fixing jank in lists or complex Compose layouts.
  • Memory Issues: Debugging OutOfMemoryError or high memory growth.
  • App Startup: Reducing the time from icon tap to first usable frame.
  • Battery Drain: Identifying excessive network calls or background work.
  • Leak Detection: Investigating persistent objects after activity destruction.

🛠️ Main Tools

1. Android Studio Profiler

  • CPU Profiler: Inspect call stacks and thread activity.
  • Memory Profiler: Capture heap dumps and track allocations.
  • Network Profiler: Analyze traffic and payload sizes.
  • Energy Profiler: Monitor battery impact.

2. LeakCanary

  • Rule: ALWAYS include LeakCanary in debug builds.
  • Use it to detect memory leaks automatically during development.

🎥 Compose Optimization

  • [ ] Recomposition Tracking: Use the "Layout Inspector" in Android Studio to count recompositions.
  • [ ] Stability Rules: Use @Stable or @Immutable on domain models to help the Compose compiler.
  • [ ] Lambda Stability: Avoid pass-through lambdas that capture unstable variables; use method references where possible.
  • [ ] remember & derivedStateOf: Minimize expensive calculations within the composition loop.

🏁 App Startup Optimization

  • Baseline Profiles: Use Baseline Profiles to pre-compile critical code paths (AOT) to improve startup by up to 30%.
  • Lazy Initialization: Use Lazy or Hilt entry points to avoid unnecessary object creation during Application.onCreate.
  • App Startup Library: Utilize androidx.startup for organized component initialization.

📦 Memory Management Checklist

  • [ ] Context Leaks: Ensure no long-lived references to Activity context (use ApplicationContext if possible).
  • [ ] Bitmap Scaling: Never load full-resolution bitmaps into small Image views. Use Coil with size() transformations.
  • [ ] Flow/Coroutine Cleanup: Use viewModelScope to ensure background tasks are canceled with the UI.

🧪 Benchmarking

  • Macrobenchmark: Measure high-level user interactions (Startup, Scrolling).
  • Microbenchmark: Measure isolated code loops or CPU-intensive algorithms.

🔗 Related Resources

Relacionados por tarefa

do mesmo repositório

Mais Skills

Todos os Skills