Kotlin对象和伴侣对象如何与懒惰一起工作的内存
我无法找到任何有关对象,伴侣对象和懒惰如何处理记忆的地方。 任何人都可以在这里解释我如何使用内存?
谢谢
这是一个相当模糊的问题,可以通过查看字节码来回答。
对象声明
对象声明是一个单例。 它有一个名为INSTANCE
的静态字段,它在静态块( <clinit>
)中被初始化。
伴侣对象
Companion是一种内部类,但是是一个单例,像对象声明一样。
懒惰的委托
懒惰委托(每个委托)是一个单独的对象。 每当你创建一个懒惰的字段,一个委托对象被实例化。