Podczas używania sztyletu zauważyłem, że otrzymuję wiele wystąpień singletonu, gdy wstrzykiwam go tam, gdzie jest to potrzebne. Zanotowałem klasę i metodę dostarczania z @Singleton
. Czy ktokolwiek może pomyśleć, dlaczego tak się dzieje?Singletons in Dagger 1.x
Edit:
Jeśli to nie pomaga, śledzę tę samą strukturę dla mojej aplikacji jako przykładowej aplikacji w sztyletu GitHub (https://github.com/square/dagger/tree/master/examples/android-activity-graphs). Próbuję uzyskać Singleton w podstawowej działalności i kilka klas stron trzecich dostarczonych przy użyciu @Provides
w niestandardowej klasie Application
. Czy to dlatego, że dodam moduły przy każdym działaniu do oryginalnego wykresu obiektów?
(PS: Jestem nowy w sztylet i DI w ogóle, więc będę wdzięczny, gdyby mógł Pan podać wyjaśnienie, abym mógł nauczyć się dzięki.).
Dzięki za wyczyszczenie tego. Kiedy mówisz spec, masz na myśli JSR330? – Raghuveer
Tak. Przepraszamy - dokonam edycji odpowiedzi. –
@ChristianGruber Jak to ma zastosowanie do konstruktorów wstrzykiwanych Singleton używanych w różnych podrysach wykresu macierzystego? Czy to oznacza jeden na wykres, w którym klasa jest używana, chyba że już istnieje na wykresie rodzica? – vinc3m1