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

Jos*_*hon 2 android dagger-2 retrofit2

我在一个项目中使用了匕首2和retrofit2,该项目可以更改国家/地区配置以及您要请求数据的国家/地区的URL。

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

因此,想法是每当用户更改国家/地区时,重新启动Retrofif的依赖关系。

Jos*_*hon 6

最终,一个可行的解决方案。但是,我不确定其性能成本是100%。

知道用户不会经常更改国家(或仅在安装应用程序后一次),我们可以再次在“ 自定义应用程序”类中或在以下位置定义时再次调用DaggerAppComponent.builder()..... build()。一个专案。因此,一旦再次实例化改造,它将采用新的URL。

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