我在一个项目中使用了 dagger 2 和 retrofit2,该项目可以更改国家/地区配置以及您为请求数据而指向的国家/地区的 URL。
Dagger2 有什么办法可以再次创建一个包含新 URL 的 Retrofit 实例?
所以这个想法是每当用户改变其国家时重新启动 Retrofif 的依赖。
请您参考如下方法:
最后一个有效的解决方案。但是我不是 100% 确定它的性能成本。
知道用户在安装应用程序后不会经常更换国家或可能只有一次,我们可以再次调用 DaggerAppComponent.builder(....build() 在自定义应用程序类中或在项目中定义时。所以一旦它再次实例化改造,它将采用新的 URL。
正如我所说,这可能会牺牲性能,但这不会经常发生。