2012-02-25 45 views
2

在我的android项目中,我将所有常量字段存储在一个类中,并且该类已经变大(25+整数,30 +字符串,3哈希映射和少数字符串数组)静态变量的集合。我这样做是因为我需要在不同的类(不是全部)中访问这些值。处理整个类的静态变量

这会消耗大量的内存吗?我应该去吗?

+1

如果您需要它们,您必须以某种方式存储它们。内存消耗取决于常量对象的实际大小。 – 2012-02-25 18:56:01

+0

我不认为它应该是一个问题 – waqaslam 2012-02-25 18:56:51

+0

即使我把这些变量在不同的类.....静态变量的内存将被分配(在程序的开始,在常规内存)。所以它不会有什么区别.....会吗? – 2012-02-25 19:00:39

回答

1

我不会太在意内存方面的问题,但从可维护性的角度来看,这些类常量类会随着时间的推移变得笨重。你可能想看看你的任何常量值是不是enums的好选择。

2

正如@proflux所说,对于存储常量,您可以使用Enums

1.当您需要固定集常数
2. 枚举类型安全。使用字符串,所有类别中的所有商品都属于同一类型。
     没有什么可以阻止您将水果类别提供给动物参数。
3.枚举是可比Serializable接口默认[Java 5]
4.添加新枚举常量,不需要客户端代码[Java 5]

您的重新编译可以从here找到更多信息