2017-06-03 6 views
7

Javaでは、メモリが2倍になるので、strictly avoid using enums on Androidに伝えられます。AndroidのパフォーマンスのKotlin列挙クラス

これはKotlinのenum classにも適用されますか? Kotlin enumはJava enumにコンパイルされますか?

+2

また、実際にAndroidでenumを避けるべきかどうかについても興味があります:https://stackoverflow.com/questions/29183904/should-i-strictly-avoid-using-enums-on-android and https: //stackoverflow.com/questions/5143256/why-was-avoid-enums-where-you-only-need-ints-removed-from-androids-performanc – Ilya

答えて

7

そうだと思います。

私は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 

ボトムラインを:彼らは同じですので、あなたはおそらくそれらを扱うために持っています同じ方法。

4

これらはまったく同じものです.Kotlin Enum は、 Java JVM Enumです。

関連する問題