Android静态类vs非静态类内存性能

我创建了一个静态的类,这个类不会持久化状态(不保留上下文或任何variables)只是一个函数列表。 但是这个类在应用程序中并没有被使用,所以我决定让类可以实例化。

为什么?

因为我认为可实例化的类会占用更少的内存,因为它在整个应用程序生命周期中都不可用。

这是正确的吗?

静态类比非静态类使用更多内存?

谢谢

    我认为你误解了课程的运作方式。 在应用程序的整个生命周期中,任何类别都是“可用的”。 用于类本身的内存(方法等)与实例使用的内存非常不同。 除非你真的创建了一个类的实例,否则它是无关紧要的。 甚至可以实例化静态类 – 只是它们不维护对封闭类的实例的隐式引用。

    如果你的类实际上并不需要隐式引用(即它不使用它),那么使它成为一个静态嵌套类 – 或者将其作为顶级类拉出来。 (嵌套类有时会很痛苦 – 顶级类的规则更简单。)

    这样的静态类不会使用比非静态类更多的内存。 所有类始终在应用程序中可用 – 您始终可以使用静态类或创建非静态类的实例。

    如果你的类中只有方法(它们是辅助方法types),静态类使用起来更方便(不需要创建实例),也不会影响你的内存使用。