proguard 是否将所有枚举转换为 int 或需要为此配置
Does proguard converts all enums to int or needs to be configured for this
proguard 会自动将枚举转换为整数以进行内存优化,还是我必须对其进行配置才能执行此操作?
如果我一定要配置配置是什么?
ProGuard 的 optimizations page 中列出了优化。它似乎是默认优化之一,但如果您需要更多控制(例如,禁用除枚举拆箱之外的所有 class/*
优化),可以明确指定它(与其他优化一样)。
class/unboxing/enum
Simplifies enum types to integer constants, whenever possible.
Proguard 设置
Proguard 需要有如下配置:
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
请注意包含 proguard-android-optimize.txt
文件而不是 proguard-android.txt
文件。
ProguardEnumIntDefTest 是 Github 上的示例项目,它试图找出 Proguard 是否将枚举转换为整数。
优化
为了 Proguard 优化一个 enum
,enum
不应该有方法和关联的值(字段)。 Proguard 将这些简单的枚举转换为整数,因此您可以在编译时获得枚举的类型安全性,并在运行时获得整数的性能!
proguard 会自动将枚举转换为整数以进行内存优化,还是我必须对其进行配置才能执行此操作? 如果我一定要配置配置是什么?
ProGuard 的 optimizations page 中列出了优化。它似乎是默认优化之一,但如果您需要更多控制(例如,禁用除枚举拆箱之外的所有 class/*
优化),可以明确指定它(与其他优化一样)。
class/unboxing/enum
Simplifies enum types to integer constants, whenever possible.
Proguard 设置
Proguard 需要有如下配置:
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
请注意包含 proguard-android-optimize.txt
文件而不是 proguard-android.txt
文件。
ProguardEnumIntDefTest 是 Github 上的示例项目,它试图找出 Proguard 是否将枚举转换为整数。
优化
为了 Proguard 优化一个 enum
,enum
不应该有方法和关联的值(字段)。 Proguard 将这些简单的枚举转换为整数,因此您可以在编译时获得枚举的类型安全性,并在运行时获得整数的性能!