我首先创建了一个静态类,该类不保持状态(不保留上下文或任何变量)只是一个函数列表。 但是这个类在应用程序中用得并不多,所以我决定让这个类可以实例化。
为什么?
因为我认为可实例化的类会使用更少的内存,因为它在整个应用程序生命周期中都不可用。
这样对吗?
静态类比非静态类使用更多内存?
谢谢
最佳答案
我认为您误解了类的工作原理。在应用程序的整个生命周期中,任何类型的类都是“可用的”。用于类本身(方法等)的内存与实例 使用的内存非常不同。除非您实际上创建 类的一个实例,否则它是无关紧要的。甚至可以实例化静态类 - 只是它们不维护对封闭类实例的隐式引用。
如果您的类实际上不需要隐式引用(即它不使用它),则将其设为静态嵌套类 - 或者无论如何将其作为顶级类拉出。 (嵌套类有时会很痛苦——顶级类的规则更简单。)
关于java - Android 静态类 vs 非静态类内存性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19584592/