Dagger中每个片段/活动的模块

时间:2015-02-24 20:11:58

标签: android dagger

我想知道每Module ActivityModuleFragment更好吗?在我的一个项目中,我的架构每Module Fragment,因为我只使用Activity来保持和交换Fragments而已。我只在需要时创建PresentersInteractors,即在调用Fragment.onCreate()时。

但我可以看到人们在their examples中按Module创建Activity。虽然从模块化的角度来看,为Module设置一个独立Activity的想法听起来非常合理,但我仍然相信创建并保留所有对象(PresentersInteractors在你真正需要它们之前,这不是一个好主意。当您不需要资源时,也无法释放资源,当您在Module事件中发布Fragment时,您可以轻松地按scoped graphFragment.onDestroy()执行此操作。

1 个答案:

答案 0 :(得分:0)

这些例子假设您正在处理几项活动,每项活动都有自己明确的目的和范围。对于应用程序范围的依赖项,存在范围A,并且每个Activity依赖关系都存在范围BCD

您基本上是在层次结构中添加了一个额外的图层:Application-Activity-Fragment。在这种情况下,由于您使用的是单个活动,因此范围A大致是应用活动依赖关系的范围,BC并且D成为片段范围。

所以是的,为每个片段创建一个模块是有意义的。