Android性能的Kotlin枚举类
在Java中,我们被告知要严格避免在Android上使用枚举,因为它占用了两倍的内存。
这是否也适用于Kotlin中的enum class
? 将Kotlin enum
编译成Java enum
?
这样看来是的。
我在Kotlin创建了这个:
enum class Thingies { Red, Green, Blue }
并用javap -v
反编译,这里是头文件:
public final class Thingies extends java.lang.Enum<Thingies> minor version: 0 major version: 52 flags: ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ENUM
底线:他们是相同的,所以你可能必须以同样的方式对待他们。
它们完全一样,Kotlin Enum 是一个Java JVM枚举。