Junior — Middle
87
Koin-да белсенді компонентпен байланысты объектінің сақталуын қалай қамтамасыз етуге болады?
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
В Koin для сохранения объекта, связанного с активным компонентом (например, Activity или Fragment), используется область видимости (scope), привязанная к жизненному циклу этого компонента.
Чтобы обеспечить сохранение объекта на время жизни компонента, нужно:
- Создать scope, связанный с компонентом.
- Определить зависимости внутри этого scope.
- Использовать scope для получения экземпляров, которые будут жить столько же, сколько и компонент.
Пример для Activity:
val activityModule = module {
scope<Activity> {
scoped { MyScopedDependency() }
}
}
// В Activity
class MyActivity : AppCompatActivity() {
private val myDependency: MyScopedDependency by currentScope.inject()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
}
}
Таким образом, объект MyScopedDependency будет создан и сохранён в рамках жизненного цикла MyActivity и уничтожен вместе с ней.