Junior — Middle
¿Cómo se mantiene la dependencia de Hof, marcada con la anotación Singleton, en el contexto de la inyección de dependencias de Dagger?
sobes.tech AI
Respuesta de la IA
En Dagger, la anotación @Singleton garantiza que el objeto se cree una sola vez dentro del componente (Component) y se reutilice en todas las solicitudes de dependencia posteriores.
Cómo funciona:
- Cuando se crea el componente Dagger, almacena instancias singleton en su caché interno.
- En la primera solicitud de dependencia con la anotación @Singleton, Dagger crea el objeto y lo guarda.
- En solicitudes posteriores del mismo tipo, Dagger devuelve la instancia guardada en lugar de crear una nueva.
Es importante que el alcance del singleton esté limitado al componente. Si hay varios componentes, cada uno puede tener su propia instancia singleton.
Ejemplo:
@Singleton
@Component
interface AppComponent {
MyService getMyService();
}
@Singleton
class MyService {
@Inject
MyService() {}
}
Aquí, MyService se creará una vez a nivel de AppComponent y se reutilizará.