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

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

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

请您参考如下方法:

最后一个有效的解决方案。但是我不是 100% 确定它的性能成本。

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

正如我所说,这可能会牺牲性能,但这不会经常发生。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!