将静态变量全局声明为null是一种好习惯吗?

时间:2013-10-07 10:28:48

标签: java android performance memory-management static-variables

我只是困惑并试图弄清楚是否是一个好主意

  • 要在类中全局声明为null的静态变量 可以被所有其他类访问吗?
  • 这是否会影响整个应用程序的性能 好的方式还是坏的方式?

2 个答案:

答案 0 :(得分:1)

  • 要在一个可以被所有其他类访问的类中全局声明为静态变量吗?

    这取决于。如果不显式初始化它们,它们将采用其默认值(对象为null)。这对您的特定应用有意义吗?或者,为其成员创建具有默认值的初始化对象是否有意义?

  • 这会以一种好方式还是坏方式影响整个应用程序的性能?

    分配对象时,它们将占用堆上的空间。分配太多会降低您的应用速度。所以是的,如果你有大量的对象,它会影响性能,所以它取决于你的应用分配的对象数量。

答案 1 :(得分:1)

  

要在可以的类中全局声明为null的静态变量   所有其他课程都可以访问?

你认为什么时候初始化那个空的全局变量是合适的?您可以声明它指向某个东西,使用静态块,或者创建一个类似单一的方法来在首次使用时初始化引用。而已。

Google认为全局静态变量是一个坏主意。你应该拥有它们吗?也许你应该考虑一下而不是什么时候初始化它们。

  

这是否会影响整个应用程序的性能   以一种好的方式还是坏的方式?

除非初始化需要太长时间,否则不太重要。你不应该假设你知道会影响性能的方式。在有意义的条件下编写代码并对其进行分析,以了解重要的内容。