앱 최적화 사용 설정

최상의 사용자 환경을 위해 앱을 최대한 작고 빠르게 만들도록 최적화해야 합니다. Google의 앱 최적화 도구인 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')

            ...
        }
    }
}

앱 최적화를 사용 설정하면 스택 트레이스를 이해하기가 어렵습니다. 특히 R8이 클래스 또는 메서드 이름을 바꾸는 경우 더욱 그렇습니다. 소스 코드와 정확하게 일치하는 스택 트레이스를 가져오려면 원래 스택 트레이스 복구를 참고하세요.

R8이 사용 설정된 경우 시작 성능을 더욱 개선하기 위해 시작 프로필을 만들어야 합니다.

앱 최적화를 사용 설정했는데 오류가 발생하는 경우 다음과 같은 해결 방법을 시도해 보세요.