사용 방법
- 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
- 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
- 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/prasad-vennam/awesome-android-ai-agent-skills --skill android-performance-audit시작 전 확인
- 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
- 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.
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
OutOfMemoryErroror 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
@Stableor@Immutableon 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
LazyorHiltentry points to avoid unnecessary object creation duringApplication.onCreate. - App Startup Library: Utilize
androidx.startupfor organized component initialization.
📦 Memory Management Checklist
- [ ] Context Leaks: Ensure no long-lived references to
Activitycontext (useApplicationContextif possible). - [ ] Bitmap Scaling: Never load full-resolution bitmaps into small
Imageviews. Use Coil withsize()transformations. - [ ] Flow/Coroutine Cleanup: Use
viewModelScopeto 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.




