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

标签 java android performance memory

我首先创建了一个静态类,该类不保持状态(不保留上下文或任何变量)只是一个函数列表。 但是这个类在应用程序中用得并不多,所以我决定让这个类可以实例化。

为什么?

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

这样对吗?

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

谢谢

最佳答案

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

如果您的类实际上不需要隐式引用(即它不使用它),则将其设为静态嵌套类 - 或者无论如何将其作为顶级类拉出。 (嵌套类有时会很痛苦——顶级类的规则更简单。)

关于java - Android 静态类 vs 非静态类内存性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19584592/

相关文章:

java - 使用选项的 XSD 验证错误

java - 将 package-info.java 用于 JAXB

java - Sharepoint 2010 oData Atom 提要内容属性在 Java 中解析

android - Jenkins mergeDebugResources 失败 - 无法访问文件

java - Android OCR 库不支持

android - 在 Kivy 中引用另一个类的函数

java - 如何通知Fragment类的数据变化?

PHP:类名常量与字符串性能

c# - 使用大型数据集读取/写入 sql server 的最快方法?

php - 为什么 gzip 压缩对我来说更慢?