Ответ
Singleton привязан к scope приложения (Application scope). Это означает, что экземпляр Singleton существует на протяжении всего жизненного цикла приложения.
В Android это обычно реализуется через:
Applicationкласс (удерживая инстанс в статическом поле)- DI-библиотеки (например, Dagger/Hilt с аннотацией
@Singleton)
Пример:
class App : Application() {
companion object {
lateinit var instance: App
private set
}
override fun onCreate() {
super.onCreate()
instance = this
}
}
// Использование
val appContext = App.instance
Важно: Singleton не привязан к Activity/Fragment scope — его инстанс переживает их уничтожение.