Объект в Котлине теряет его значения вар? - PullRequest
0 голосов
/ 12 ноября 2018

Я недавно сделал переход с iOS / Swift на Androi / Kotlin. Я использую объект для инкапсуляции функциональности Google Analytics (как я это делал в Swift):

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

Я слышал (один из наших разработчиков Android упомянул об этом), что в последней версии kotlin var connection может фактически потерять это значение в какой-то момент спонтанно? Я нахожу это очень странным, правда ли это? Похоже, что переменные в глобальном масштабе очищаются в какой-то момент?

1 Ответ

0 голосов
/ 12 ноября 2018

Он не должен потерять содержащиеся в нем значения, потому что когда вы создаете новый класс как объект, вы создаете его как потокобезопасный синглтон.

Это означает, что, если вы не измените значение непосредственно в другом месте, значение должно остаться таким же, как и исходное значение.

Это все, если ваше приложение еще живо, если ваше приложение уничтожено / уничтожено, весь класс также будет уничтожен вместе с ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...