【问题标题】:Handling the static variable across the class跨类处理静态变量
【发布时间】:2012-03-15 20:43:04
【问题描述】:

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

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

【问题讨论】:

  • 如果您需要它们,您必须以一种或另一种方式存储它们。内存消耗取决于常量对象的实际大小。
  • 我认为这应该不是问题
  • 即使我将这些变量放在不同的类中......静态变量的内存将被分配(在程序开始时,在常规内存中)。所以它不会有任何区别......会吗?

标签: java android memory-management static-variables


【解决方案1】:

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

1. 当您需要固定集合常量时。
2. 枚举类型安全的。使用字符串,您在所有类别中的所有项目都是同一类型。
    没有什么可以阻止您将水果类别提供给动物参数。
3.枚举默认是ComparableSerializable[Java 5]
4. 添加新的enum常量,不需要重新编译客户端代码[Java 5]

您可以通过here找到更多信息

【讨论】:

    【解决方案2】:

    我不太担心内存方面,但从可维护性的角度来看,这些常量类会随着时间的推移变得笨拙。您可能想查看是否有任何常量值适合 enums

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 1970-01-01
      相关资源
      最近更新 更多