I have a Dagger2 @Module class with the @Provides annotated method which calls Retrofit.create method:
@Provides
RestService provideRestService(final Retrofit retrofit) {
return retrofit.create(RestService.class);
}
Should I annotate this method with the @Singleton annotation?
I see one reason to do it: calling create each time has some cost and one reason for not doing it: keeping one instance has some cost (Dagger performs double checking each time instance is requested).
Which solution is preferred? With or without @Singleton annotation? Or maybe it is not important at all? Or my approach to create this class in provider is fundamentally wrong?