2015-01-24 39 views
6

Nispeten büyük bir proje başlatmak üzereyim ve merak ediyorumButterKnife ve Hançer gibi Bağımlılık Enjeksiyon Çerçeveleri yapın Uygulamaları yavaşlatır mı?

Bu bağımlılık enjeksiyon kalıplarını kullanmanın gerçek faydaları nelerdir?

DI, uygulama yükleme sürelerini artırıyor mu? Veya herhangi bir performans değeri sunuyor musunuz?

Googles belgelerinin RAM kullanımı nedeniyle Robojuice kullanımına aykırı olduğu düşünülür, bu tüm DI'lerde ortak bir şey midir?

Herkesin görüşlerini duymak isterler.

+2

bu yardımı yapar mı? http://stackoverflow.com/questions/21522091/what-are-the-specific-benefits-of-using-di-on-android –

cevap

1

NYTimes için çalışıyorum ve Dagger 2'yi kullanarak 2 kapsamdaki yüzlerce yönetilen nesneyi başlatmak için 100 ms'den daha az zaman harcıyor. Hançer nesneleri düzenlememize ve etkinliklerden veya iş nesnelerinden çok fazla kalkar çıkarmamıza yardımcı oluyor. Herhangi bir boyut uygulaması için tavsiye ederim.

+0

Android KitKat cihazlarında denediniz mi? Dagger 2 enjeksiyon Android Kit Kat'ta çok zaman alır. – Murat

+0

Lütfen ne söylediğini onaylayan istatistikleri göster. Çok fazla zaman nedir? Bu süre, elle Bağımlılık Enjeksiyonu ile nasıl kıyaslanır? – FriendlyMikhail

+0

Bazı profillerden sonra problemin hançer ile ilgili olmadığını fark ettim. Android'in NsdManager API'sini kullanıyoruz ve başlatıp hançer ile birlikte sunuyoruz. Android 4.4'te, bu API buggy ve iniatialized almak için çok zaman aldı. Ayrıca, bu sorunla karşılaşırsanız android cihazı yeniden başlatmanız gerekir. Bu nedenle, hançer enjeksiyonu çok zaman alıyor. – Murat