枚举与静态常量、内存占用
首先,请参阅 Android 开发人员指南中的以下引用:
枚举通常需要比静态常量多两倍的内存。您应该严格避免在Android上使用枚举。
Java中的每个类(包括匿名内部类)使用大约500字节的代码。https://developer.android.com/training/articles/memory.html
尽管在第一个项目符号中发出了不祥的警告,即“严格避免在Android上使用枚举”,但在这一点上所说的实际上听起来并不那么糟糕。常量是 32 位整数,枚举可能是 64 位引用。那里给出的关于枚举价格是两倍的数学是有道理的,而且似乎并不那么可怕。
我担心的是,这一警告可能部分地以第二个要点为基础。
我想知道一个简单的枚举“类”声明是否携带500字节的开销?eacn 枚举类型怎么样?
类型可以是“扩展类”似乎很合理,因为它们可以采用自己的方法,而不仅仅是实例。把它表述为一个问题,如果我的枚举是Color,并且我有20种Color枚举类型(例如红色,蓝色,绿色...),那么每种类型的枚举是500字节吗?