2017-06-03 8 views
7

जावा में हमें strictly avoid using enums on Android से कहा जाता है क्योंकि वे स्मृति को दो बार लेते हैं।एंड्रॉइड प्रदर्शन में कोटलिन एनम क्लास

क्या यह कोटलिन में enum class पर भी लागू होता है? क्या एक कोटलिन enum जावा enum में संकलित किया जाएगा?

+2

आपको यह भी रुचि हो सकती है कि आपको वास्तव में एंड्रॉइड पर एम्स से बचना चाहिए या नहीं: https://stackoverflow.com/questions/29183904/should-i-strictly-avoid-using-enums-on-android और 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 साथ यह decompiled, और यहाँ शीर्षक है:

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

वे बिल्कुल वही बात हैं, कोटलिन एनम जावा जेवीएम एनम है।

संबंधित मुद्दे