Kotlin中的对象失去了var值?

时间:2018-11-12 06:27:59

标签: android kotlin

我最近从iOS / Swift过渡到了Androi / Kotlin。我正在使用一个对象来封装Analytics功能(就像我在Swift中所做的那样):

Object Analytics{
var connection: AnalyticsConnection? = null
fun sendEvent(name: String)...
init {
connection = //allocate here
}
}

我(我们的一位Android开发人员提到过)听说过,在最新版本的kotlin中,var connection实际上可以在某个时候自然地失去它的价值吗?我觉得这很奇怪,是真的吗?似乎在某个时候清除了全球范围内的var?

1 个答案:

答案 0 :(得分:3)

它不应丢失其中包含的值,因为当您将新类创建为对象时,会将其创建为线程安全的单例。

这意味着除非您直接在其他位置更改该值,否则该值应与原始值保持不变。

这就是万一您的应用程序仍在运行,万一您的应用程序被杀死/销毁,整个类也将随之销毁。