我创建了一个静态的类,这个类不保持状态(不保留上下文或任何变量)只是一个函数列表。 但是这个类在应用程序中并不是很常用,所以我决定让类可实例化。Android静态类与非静态类内存性能
为什么?
因为我认为一个可实例化的类将使用更少的内存,因为它在整个应用程序生命周期中不可用。
这是正确的吗?
静态类比非静态类使用更多的内存?
谢谢
我创建了一个静态的类,这个类不保持状态(不保留上下文或任何变量)只是一个函数列表。 但是这个类在应用程序中并不是很常用,所以我决定让类可实例化。Android静态类与非静态类内存性能
为什么?
因为我认为一个可实例化的类将使用更少的内存,因为它在整个应用程序生命周期中不可用。
这是正确的吗?
静态类比非静态类使用更多的内存?
谢谢
我想你已经误解了班级的工作方式。任何类别的应用程序在整个生命周期内都是“可用的”。用于该类本身的内存(方法等)与实例所使用的内存大不相同。除非你真的创建了这个类的一个实例,它是无关紧要的。甚至可以实例化静态类 - 只是它们不保留对包含类的实例的隐式引用。
如果你的类实际上并不需要一个隐式引用(即它不使用它),那么把它作为一个静态嵌套类 - 或者把它作为顶级类来取出。 (嵌套类有时会很痛苦 - 关于顶级类的规则更简单。)
静态类本身不会使用比非静态类更多的内存。所有类都始终可用于应用程序中 - 您可以始终使用静态类或创建非静态类的实例。
如果您的类中只有方法(它们是辅助方法类型的方法),则更方便使用静态类(无需创建实例),并且不会影响内存使用情况。
“静态类”不是标准术语。 “静态课堂”是什么意思?无论如何,答案可能是“不存在差异”。 – Joni