Android/Koin - 如何告诉koin重新初始化单个依赖项

13

我遇到了一个问题,需要重新初始化我的Retrofit API类,因为URL已经发生了变化,所以我想告诉Koin重新初始化单个依赖项。我不想使用factory,因为它大多数情况下仍然是单例。

停止和重新启动koin可能是一个想法,但这是一个非常重的和时间密集型的过程,所以我不想这样做。

有什么想法吗?


为什么不使用两个不同的基本URL创建两个实例? - Rinat Diushenov
问题在于这种情况可能会发生超过2次,因此每次使用它时我都需要创建一个新的retrofit实例。因此,我考虑在koin中解决它,只重新创建一个单一的依赖项。 - kaulex
1个回答

13

经过大量的调研,我在GitHub上找到了解决我的问题的作用域。

--- 或者 ---

使用

unloadKoinModules(networkModule)
loadKoinModules(networkModule)

然后再次获取该实例:

val api: InstanceApi = getKoin().get()

但是作者提到了一个泄漏问题,你考虑过吗? - ivan8m8
我提到这个问题是因为它提供了解决方案。这不是我遇到的同样的问题。在这里从来没有遇到过解决方案的问题。 - kaulex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接