Android 성능 최적화는 UI 스레드를 반응형으로 유지하고, 효율적인 메모리 사용(누수 방지), 부드러운 렌더링, 효율적인 목록, 병목을 찾기 위한 프로파일링을 포함합니다. 성능은 사용자 경험에 직접 영향을 미치며 Android 기기의 다양한 범위에 걸쳐 중요합니다.
UI(메인) 스레드를 반응형으로 유지
✓ 메인 스레드를 절대 차단하지 말 것 → 네트워크/DB/무거운 작업을 그 밖에서 (coroutine + Dispatchers.IO)
→ 차단은 jank나 ANR ("App Not Responding") 을 유발 — 최상위 문제
✓ onCreate / onBind / 메인 스레드의 작업을 최소화하고 빠르게 유지
메모리와 누수
✓ 메모리 누수 방지 — 흔한 Android 문제:
→ Activity/Context 참조를 lifecycle 너머로 보유하지 말 것 (고전적 누수)
→ 리스너/관찰자 등록 해제; lifecycle 인식 구성 요소 사용; coroutine 취소
→ LeakCanary 같은 도구로 누수 탐지
✓ 비트맵/이미지를 신중하게 관리 (큰 메모리); 이미지 라이브러리 사용 (Glide, Coil)
