【发布时间】:2019-10-31 12:37:48
【问题描述】:
嗨,在一个多模块应用程序中,我正在使用 loadKoinModules() 加载子模块并在功能模块中使用 unloadKoinModules() 卸载它,我的代码看起来像
class FeatureActivity:AppCompatActivity(){
private val loadFeatures by lazy { loadKoinModules(featureModule) }
private fun injectFeatures() = loadFeatures
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
injectFeatures()
}
override fun onDestroy() {
super.onDestroy()
unloadKoinModules(featureModule)
}
}
一切正常,但是当加载相同活动的另一个实例时问题开始了。当前活动在后台时。由于以下错误导致应用崩溃
org.koin.error.BeanOverrideException: Try to override definition with Factory
有没有办法避免这个错误
【问题讨论】:
-
我正在尝试构建一个模块化应用程序,其中功能模块包含一个活动。该活动可以再次将自身加载为新实例。在这种情况下,我们得到 org.koin.error.BeanOverrideException: Try to override definition with Factory。
标签: android kotlin dependency-injection multi-module koin