다음 페이지에서는 앱의 메모리 사용을 개선하는 방법에 관한 정보를 제공합니다.
일반 메모리 안내
- 메모리 개요
- 핵심 Android 메모리 아키텍처, RAM 제약조건, 운영체제가 로우 메모리 킬러 (LMK)를 사용하여 프로세스 균형을 맞추는 방법을 설명합니다.
- 메모리 관리
- 구성요소 수명 주기 전반에서 리소스를 해제하고, 메모리 누수를 방지하며, 프로세스 상태 간 전환 시 메모리를 관리하는 개발자 권장사항을 간략하게 설명합니다.
- Android 메모리 이해 및 문제 해결
- Android 메모리 아키텍처, 분석에 사용할 수 있는 도구, 메모리 관련 문제를 식별하고 해결하는 데 도움이 되는 실습을 포괄적으로 개략적으로 설명합니다.
영역별 최적화
- 게임 메모리 개요
- 게임 엔진을 사용하는 앱에 맞게 조정된 메모리 예산 책정, 네이티브 할당 처리, 그래픽 애셋 관리 안내를 자세히 설명합니다.
- 비트맵 이미지 최적화
- 이미지 라이브러리 내에서 비트맵 애셋의 크기를 조정하고, 디코딩하고, 캐시하는 방법을 효율적으로 보여줍니다.
- WebView 메모리 관리 및 진단
- WebView 다중 프로세스 메모리 모델을 설명하고, 메모리 누수를 방지하기 위해 수명 주기를 올바르게 관리하는 방법을 설명하며, 메모리 문제를 진단하기 위한 실용적인 워크플로를 제공합니다.
- R8 코드 최적화
- R8을 활용하여 APK 크기, 메타데이터 오버헤드, 런타임 메모리 소비를 줄이는 방법을 설명합니다.
로컬 메모리 디버그 도구
- Android 스튜디오 도구
- IDE 내에서 직접 실시간 힙 검사, 메모리 할당 추적, 메모리 누수 감지 워크플로를 제공합니다.
- Perfetto 힙 덤프 탐색기
- 네이티브 및 Java 또는 Kotlin 힙 덤프에 대한 심층적인 시각적 분석을 제공하여 보관된 객체 트리와 익명 메모리 할당을 격리합니다.
- 기기에서 시스템 트레이스 캡처
- 앱의 성능 관련 버그를 해결하기 위해 기기 시스템 수준 트레이스를 기록하는 방법을 보여줍니다.
- Android에서 메모리 사용량 디버깅
- Linux 메모리 관리를 이해하고 dumpsys meminfo, Perfetto, 네이티브 힙 프로필, 힙 덤프와 같은 도구를 사용하여 메모리 사용량을 추적하고 메모리 누수를 식별하는 방법을 알려줍니다.
프로덕션 수준 메모리 도구
- Android vitals: 메모리 사용량 (익명 RSS + 스왑)
- Android vitals는 프로세스 상태 포그라운드, 포그라운드 서비스, 백그라운드 서비스별로 분류된 앱의 프로덕션 메모리 사용량을 공유합니다.
- Android vitals: 비트맵 메모리 사용량
- Android vitals는 Android 기기의 데이터를 집계하여 앱의 비트맵 메모리 사용량에 관한 측정항목을 제공합니다.
- Crashlytics 20.1.0
- 진단 컨텍스트가 포함된 프로덕션 메모리 부족 (OOM) 예외 및 메모리 제한기 종료를 표시하여 현장 비정상 종료의 우선순위를 정하고 수정합니다.
- ProfilingManager
- 앱이 실시간 사용자 세션에서 프로덕션 힙 덤프 및 힙 프로필을 프로그래매틱 방식으로 수집하고 업로드할 수 있는 고급 API입니다.
추가 리소스
메모리에 관한 자세한 내용은 다음 추가 리소스를 참고하세요.