android - Kodein 和活动上下文讨论
问题描述
我研究了这个示例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)
}
}
在这里,我们看到我们将活动的上下文添加到单例中。
但我也看到我们Kodein
是按retainedKodein
功能获得的。所以这个 Kodein 模块对旋转时的活动破坏免疫。但我不了解活动的上下文,因为单例持有上下文。
所以我问。Kodein 是否重新附加了活动的上下文?你能向我描述一下重新连接机制吗?因为这对我来说现在还不清楚。谢谢你们!:))
解决方案
推荐阅读
- html - 如何使用某些段落设置“弹性比率”
- azure-blob-storage - Azure 存储:仅返回 Azure 存储中 BlobTier Cold 的 Blob
- java - java.nio.file.InvalidPathException: Illegal char <:> at index 4: http:\182.18.177.27:78\PrepaidEMFiles\invoice12.pdf
- python-3.x - 我在网络的边缘x 我需要的颜色不止一种
- azure-functions - 在本地存储中看不到 log.LogInformation() 消息
- html - 是否可以制作带有动画和悬停比例的html div?
- python - 如何使用 venv 在 Python 3.7.2 中解决多处理停止工作问题
- oracle - PLSQL - 按组生成服务器列表
- scala - 来自kafka的火花流如何指定轮询事件的截止时间
- excel - 使用 VBA 格式化注释中的行