启用应用优化

为了提供最佳用户体验,您应优化应用,使其尽可能小巧快速。我们的应用优化器(称为 R8)通过以下方式简化应用:移除未使用的代码和资源、重写代码以优化运行时性能等。对于您的用户,这意味着:

  • 更快启动
  • 改进了渲染和运行时性能
  • ANR 错误减少

如需启用应用优化,请在发布 build 的应用级 build 脚本中设置 isMinifyEnabled = true(用于代码优化)和 isShrinkResources = true(用于资源优化),如以下代码所示。我们建议您始终同时启用这两项设置。我们还建议您仅在发布前测试的最终应用版本(通常是发布 build)中启用应用优化,因为优化会增加项目的 build 时间,并且由于其修改代码的方式,可能会使调试更加困难。

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')

            ...
        }
    }
}

优化了资源缩减功能,以支持更小的应用

Android Gradle 插件 (AGP) 的 8.12.0 版本引入了优化的资源缩减功能,旨在集成资源和代码优化,以创建更小、更快的应用。

启用优化型资源缩减

如需为 9.0.0 之前的 AGP 版本启用新的优化资源缩减流水线,请将以下内容添加到项目的 gradle.properties 文件中:

android.r8.optimizedResourceShrinking=true

如果您使用的是 AGP 9.0.0 或更高版本,则无需设置 android.r8.optimizedResourceShrinking=true。在 build 配置中启用 isShrinkResources = true 后,系统会自动应用优化后的资源缩减。

验证并配置 R8 优化设置

如需让 R8 充分发挥其优化功能,请从项目的 gradle.properties 文件中移除以下行(如果存在):

android.enableR8.fullMode=false # Remove this line from your codebase.

请注意,启用应用优化会使堆栈轨迹难以理解,尤其是在 R8 重命名类或方法名称的情况下。如需获取与源代码正确对应的堆栈轨迹,请参阅恢复原始堆栈轨迹

如果启用了 R8,您还应创建启动配置文件,以进一步提升启动性能。

如果您启用了应用优化功能,但该功能导致了错误,可以尝试以下策略来解决这些错误: