최상의 사용자 환경을 위해 앱을 최대한 작고 빠르게 최적화해야 합니다. 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 규칙을 추가하세요.
- 최적화를 점진적으로 적용
- 최적화에 더 적합한 라이브러리를 사용하도록 코드를 업데이트합니다.