Ответ
В Koin время жизни объекта определяется через его scope. Объекты могут быть:
- Singleton - создается один раз и живет всё время работы приложения:
single { MySingleton() }
- Factory - создается новый экземпляр при каждом запросе:
factory { MyFactory() }
- Scoped - живет в рамках определенного scope (например, активити или фрагмента):
scope<MyActivity> {
scoped { MyScopedObject() }
}
Также можно создавать кастомные scope с помощью createScope() и закрывать их через close(). Объекты внутри scope уничтожаются при закрытии scope.