【发布时间】:2018-01-02 17:19:41
【问题描述】:
我有一个带有 @Provides 注释方法的 Dagger2 @Module 类,它调用 Retrofit.create 方法:
@Provides
RestService provideRestService(final Retrofit retrofit) {
return retrofit.create(RestService.class);
}
我应该用@Singleton 注释来注释这个方法吗?
我看到了这样做的一个原因:每次调用 create 都会有一定的成本,而不这样做的原因有一个:保留一个实例有一定的成本(Dagger每次请求实例时执行双重检查)。
首选哪种解决方案?有或没有@Singleton 注释?或者也许它根本不重要?还是我在提供程序中创建此类的方法根本上是错误的?
【问题讨论】:
-
这似乎是进行一些性能测试并与社区分享结果的好机会,您不觉得吗?
-
@Pelocho 是的,这是个好主意!
标签: android retrofit dagger-2 dagger