[英]Kodein and activity context discuss
我研究了这个示例repo,以了解如何在 Android 应用程序中实现 Kodein。 但是我对示例中活动案例中的上下文问题感到困惑。
这里的代码:
abstract class BaseActivity<B : ViewDataBinding, VM : ViewModel>: AppCompatActivity(), KodeinAware {
protected lateinit var binding: B
lateinit var viewModel: VM
private val _parentKodein by closestKodein()
override val kodein: Kodein by retainedKodein {
extend(_parentKodein, copy = Copy.All)
bind<Activity>() with singleton { this@BaseActivity }
bind<Context>("ActivityContext") with singleton { this@BaseActivity }
import(activityModule)
}
}
在这里我们看到我们将活动的上下文添加到单例中。
但我也看到我们通过retainedKodein
函数获得了Kodein
。 所以这个 Kodein 模块对旋转时的活动破坏免疫。 但我不了解活动的上下文,因为单例拥有上下文。
所以我问。 Kodein 是否重新附加了活动的上下文? 你能向我描述一下重新连接机制吗? 因为这对我来说现在还不清楚。 谢谢你们!:))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.