Sobes.tech
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:

  1. Komponentlə əlaqəli scope yaradın.
  2. Bu scope daxilində asılılıqları müəyyən edin.
  3. 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.