Android 메모리

다음 페이지에서는 앱의 메모리 사용을 개선하는 방법에 관한 정보를 제공합니다.

일반 메모리 안내

메모리 개요
핵심 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입니다.

추가 리소스

메모리에 관한 자세한 내용은 다음 추가 리소스를 참고하세요.

블로그 게시물

동영상