Sobes.tech
Junior — Middle

Koinдеги активдүү компонент менен байланышкан объекттин сакталуусун кантип камсыз кылса болот?

sobes.tech AI

AIден жооп

Koin'де, актив компоненти менен байланышкан объектти сактоо үчүн, бул компонентинин жашоо циклине байланыштуу scope (чекит) колдонулат.

Объекттин компонентинин жашоо мөөнөтү бою сакталуусун камсыздоо үчүн:

  1. Компонентке байланыштуу scope түзүңүз.
  2. Бул scope ичинде көзкарандылыктарды аныктаңыз.
  3. 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 жашоо циклинин чегинде сакталат жана анын менен бирге жок кылынат.