Junior — Middle
Koin-də aktiv komponentlə əlaqəli obyektin qorunmasını necə təmin etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Koin-də, aktiv komponentlə (məsələn, Activity və ya Fragment) əlaqəli obyekti saxlamaq üçün, bu komponentin həyat dövrünə bağlı olan scope istifadə olunur.
Obyektin komponentin həyat dövrü boyunca saxlanmasını təmin etmək üçün:
- Komponentlə əlaqəli scope yaradın.
- Bu scope daxilində asılılıqları müəyyən edin.
- Scope-u istifadə edərək, komponent qədər yaşayan nümunələri əldə edin.
Məsəl üçün Activity üçün:
val activityModule = module {
scope<Activity> {
scoped { MyScopedDependency() }
}
}
// Activity-də
class MyActivity : AppCompatActivity() {
private val myDependency: MyScopedDependency by currentScope.inject()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
}
}
Beləliklə, MyScopedDependency obyekti yaradılır və MyActivity-nin həyat dövrü çərçivəsində saxlanılır və onunla birlikdə məhv edilir.