proguard是否将所有枚举转换为int或需要为此进行配置



proguard是否自动将枚举转换为整数以进行内存优化,或者我必须配置它才能做到这一点?如果我必须配置,配置是什么?

该优化列在ProGuard的优化页面上。这似乎是一个默认的优化,但它(像其他优化)可以显式指定,如果你需要更多的控制(例如禁用所有class/*优化,除了enum拆箱)。

/enum类/拆箱

尽可能将枚举类型简化为整型常量。

Proguard设置

Proguard需要有如下配置:

minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

注意包含了proguard-android-optimize.txt文件而不是proguard-android.txt文件。

ProguardEnumIntDefTest是Github上的一个示例项目,它试图找出Proguard是否将枚举转换为int。


优化

对于Proguard优化enum, enum不应该有方法和相关的值(字段)。Proguard将这些简单的枚举转换为整型,这样,您就可以在编译时获得枚举的类型安全性,并在运行时获得整型的性能!


相关内容

  • 没有找到相关文章

最新更新