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

kau*_*lex 3 android dependency-injection retrofit2 koin

我偶然发现了一个问题,我必须重新初始化我的 Retrofit API 类,因为 URL 发生了变化,所以我想告诉 Koin 重新初始化单个依赖项。我不想使用工厂,因为它在大多数情况下仍然是单例。

停止和开始 koin 将是一个想法,但这是一个非常繁重和时间紧张的过程,所以我不想这样做。

有任何想法吗?

kau*_*lex 9

在做了很多研究之后,我发现GitHub scoping 上的这篇文章是我问题的解决方案。

------

使用

unloadKoinModules(networkModule)
loadKoinModules(networkModule)
Run Code Online (Sandbox Code Playgroud)

然后再次获取实例:

val api: InstanceApi = getKoin().get()
Run Code Online (Sandbox Code Playgroud)