2015-01-24 22 views
6

Mam zamiar rozpocząć stosunkowo duży projekt i zastanawiałem się,Czy moduły wtrysku zależnego od aplikacji, takie jak ButterKnife i Dagger spowalniają działanie aplikacji?

Jakie są rzeczywiste zalety korzystania z tych struktur wtrysku zależności?

Czy DI zwiększa czas ładowania aplikacji? Lub zaoferować jakąkolwiek wartość wydajności?

Dokumentacja Googles sprzeciwia się użyciu Robojuice z powodu użycia pamięci RAM, czy jest to coś powszechnego we wszystkich DIach?

Zainteresowane wysłuchaniem opinii wszystkich.

+2

to pomaga? http://stackoverflow.com/questions/21522091/what-are-s-specific-benefits-of-using-di-on-android –

Odpowiedz

1

Pracuję dla NYTimes i zajmie mniej niż 100ms, aby utworzyć setki zarządzanych obiektów w 2 zakresach za pomocą Dagger 2. Sztylet pomaga nam organizować obiekty i usuwać wiele elementów z działań lub obiektów biznesowych. Polecam go dla każdej aplikacji wielkości.

+0

Czy próbowałeś już w urządzeniach Android KitKat? Injection Dagger 2 zajmuje zbyt wiele czasu na Android Kit Kat. – Murat

+0

Pokaż mi statystyki potwierdzające, co mówisz. Co za dużo czasu? W jaki sposób ten czas porównuje się do ręcznego podawania Dependency Injection? – FriendlyMikhail

+0

Po pewnym profilowaniu zauważyłem, że problem nie dotyczy sztyletu. Korzystamy z interfejsu API NsdManager systemu Android i inicjujemy go i dostarczamy sztylet. W systemie Android 4.4 ten interfejs API jest błędny i zajęło zbyt dużo czasu, aby zostać zdiagnozowanym. Musisz również zrestartować urządzenie z Androidem, jeśli napotkasz ten problem. Z tego powodu iniekcja sztyletu zajmuje zbyt dużo czasu. – Murat