Синглтон - init не вызывается
Я хочу создать синглтон в Kotlin, поэтому я сделал объект-компаньон следующим образом:
companion object {
val INSTANCE = MessagesManager()
}
Есть кое-что, что я хочу сделать в его конструкторе, поэтому я написал некоторый код в функции init, но он никогда не запускается, если я не использую Singleton. Я также пытался использовать аннотацию JVMField, но она не работает. Я хочу, чтобы запуск init запускался сразу после запуска.
1 ответ
init{}
Блок будет вызван при загрузке класса.
Таким образом, вы должны получить доступ к этому классу хотя бы один раз после запуска.
И, есть более удобный способ сделать синглтон в Котлине, как показано ниже.
object MessageManager {}