앱 최적화 사용 설정

최상의 사용자 환경을 위해 앱을 최대한 작고 빠르게 최적화해야 합니다. 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을 사용 설정한 경우 시작 프로필을 만들어 시작 성능을 더욱 개선해야 합니다.

앱 최적화를 사용 설정했는데 오류가 발생하는 경우 다음 전략을 사용하여 오류를 수정할 수 있습니다.