繁体   English   中英

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

[英]Android static class vs non-static class memory performance

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

为什么?

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

这是正确的吗?

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

谢谢

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM