如何在 Dagger 2 上重新启动 Retrofits 2 的依赖项

How to restart on Dagger 2 a dependency of Retrofits 2

我在一个项目中使用了 dagger 2 和 retrofit2,它们可以更改国家/地区配置以及您请求数据时指向的国家/地区的 URL。

有什么方法可以让 Dagger2 再次创建一个包含新 URL 的 Retrofit 实例?

所以这个想法是每当用户改变它的国家时重新启动 Retrofif 的依赖。

终于找到了一个可行的解决方案。但是我不能 100% 确定它的性能成本。

知道用户不会经常更改国家/地区或者在安装应用程序后可能只更改一次,我们可以再次调用 DaggerAppComponent.builder().... .build( )Custom Application class 中或在项目中定义时。所以一旦它再次实例化 retrofit 它将采用新的URL。

正如我所说,这可能会降低性能,但这种情况不会经常发生。