최상의 사용자 환경을 위해 앱을 최대한 작고 빠르게 최적화해야 합니다. R8이라는 앱 최적화 도구는 사용하지 않는 코드와 리소스를 삭제하고, 런타임 성능을 최적화하도록 코드를 다시 작성하는 등의 작업을 통해 앱을 간소화합니다. 사용자에게는 다음을 의미합니다.
- 더 빨라진 시작 시간
- 렌더링 및 런타임 성능 개선
- ANR 감소
앱 최적화를 사용 설정하려면 다음 코드와 같이 출시 빌드'의 앱 수준 빌드 스크립트에서 isMinifyEnabled = true
(코드 최적화용) 및 isShrinkResources = true
(리소스 최적화용)를 설정합니다. 항상 두 설정을 모두 사용 설정하는 것이 좋습니다. 또한 최적화로 인해 프로젝트의 빌드 시간이 늘어나고 코드를 수정하는 방식으로 인해 디버깅이 어려워질 수 있으므로 게시 전에 테스트하는 앱의 최종 버전(일반적으로 출시 빌드)에서만 앱 최적화를 사용 설정하는 것이 좋습니다.
Kotlin
android { buildTypes { release { // Enables code-related app optimization. isMinifyEnabled = true // Enables resource shrinking. isShrinkResources = true proguardFiles( // Default file with automatically generated optimization rules. getDefaultProguardFile("proguard-android-optimize.txt"), ... ) ... } } ... }
Groovy
android { buildTypes { release { // Enables code-related app optimization. minifyEnabled true // Enables resource shrinking. shrinkResources true // Default file with automatically generated optimization rules. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') ... } } }
또한 프로젝트의 gradle.properties
파일에서 다음 줄을 삭제하여 R8이 전체 최적화 기능을 사용하는지 확인합니다(있는 경우).
android.enableR8.fullMode=false # Remove this line from your codebase.
앱 최적화를 사용 설정하면 스택 트레이스를 이해하기 어려워집니다. 특히 R8이 클래스 또는 메서드 이름을 변경하는 경우에 그렇습니다. 소스 코드에 올바르게 대응하는 스택 트레이스를 가져오려면 원래 스택 트레이스 복구를 참고하세요.
R8을 사용 설정한 경우 시작 프로필을 만들어 시작 성능을 더욱 개선해야 합니다.
앱 최적화를 사용 설정했는데 오류가 발생하는 경우 다음 전략을 사용하여 오류를 수정할 수 있습니다.
- 일부 코드를 그대로 유지하려면 keep 규칙을 추가하세요.
- 최적화를 점진적으로 적용
- 최적화에 더 적합한 라이브러리를 사용하도록 코드를 업데이트합니다.