2015-02-24 54 views
0

我想知道是否ModuleActivityModuleFragment更好?在我的其中一個項目中,我有一個架構,每個Fragment有一個Module,因爲我使用Activity只是爲了容納和交換Fragments而已。我只在需要時創建PresentersInteractors,即當調用Fragment.onCreate()時。匕首模塊/片段/活動

但我可以看到傢伙在their examples中每Activity創建Module。儘管從模塊化的角度來看,我認爲獨立的Module對於Activity聽起來完全合理,但我仍然相信在你真正需要它們之前創建並保留所有對象(Presenters,Interactors)並不是一個好主意。當您不需要它們時,您也不能釋放資源,當您剛剛在Fragment.onDestroy()事件中釋放scoped graph時,您可以輕鬆地爲Module執行每Fragment

回答

0

這些例子假設你正在進行多項活動,每項活動都有自己明確的目的和範圍。對於應用程序範圍的依賴關係,存在範圍A,對於每個活動依賴關係,範圍BCD

你基本上在層次結構中添加一個額外的層:Application-Activity-Fragment。在這種情況下,由於您正在使用單個活動,因此範圍A大致適用於應用程序活動依賴關係,並且B,CD將成爲分段範圍。

所以是的,這是有道理的爲每個片段創建一個模塊。

+0

我的應用程序還包含幾個活動,其範圍和目的都很明確。除非你真的需要它們(如果你有活動範圍模塊,怎麼去做),或者我過於關注了,我只是沒有達到創建和保持對象的目的?意思是,在內存佔用方面,保留演示者和其他對象並不是什麼大不了的事情。 – Eugene 2015-02-24 20:34:58

+0

我完全同意你應該儘可能地在最低層引入和實例化依賴關係。 – nhaarman 2015-02-24 20:37:49