【问题标题】:Android/Koin - How to tell koin that a single dependency should be reinitializedAndroid/Koin - 如何告诉 koin 应该重新初始化单个依赖项
【发布时间】:2020-08-06 19:02:45
【问题描述】:

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

停止和启动 koin 是一个想法,但这是一个非常繁重且耗时的过程,所以我不想这样做。

有什么想法吗?

【问题讨论】:

  • 为什么不创建 2 个具有 2 个不同基本 url 的实例?
  • 问题是这种情况发生的频率可能超过 2 次,所以我每次使用它时都需要创建一个新的改造实例。所以我想用 koin 解决它,只重新创建一个依赖项

标签: android dependency-injection retrofit2 koin


【解决方案1】:

经过大量研究后,我发现GitHub 上的这篇文章是解决我的问题的方法。

--- ---

使用

unloadKoinModules(networkModule)
loadKoinModules(networkModule)

然后再次获取实例:

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

【讨论】:

  • 但是问题作者写了关于泄漏的文章。你会考虑吗?
  • 我刚才提到了这个问题,因为它提供了解决方案。这与我遇到的问题不同。这里的解决方案从来没有问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多