Android 匕首中每个碎片/活动的模块
我想知道是否每个Android 匕首中每个碎片/活动的模块,android,dagger,Android,Dagger,我想知道是否每个活动都有模块比每个片段都有模块更好?在我的一个项目中,我有一个体系结构,每个片段都有一个模块,因为我使用活动仅仅是为了保存和交换片段,其他什么都没有。我只在需要时创建演示者和交互者,即调用Fragment.onCreate()时 但我可以看到大家正在创建模块每活动。虽然从模块化的角度来看,为活动建立一个独立的模块的想法听起来非常合理,但我仍然认为在您实际需要之前创建并保留所有对象(演示者,交互者)并不是一个好主意。当您不需要资源时,您也不能释放它们,当您在Fragment.ond
活动都有模块
比每个片段都有模块
更好?在我的一个项目中,我有一个体系结构,每个片段都有一个模块
,因为我使用活动
仅仅是为了保存和交换片段
,其他什么都没有。我只在需要时创建演示者
和交互者
,即调用Fragment.onCreate()
时
但我可以看到大家正在创建模块
每活动
。虽然从模块化的角度来看,为活动
建立一个独立的模块
的想法听起来非常合理,但我仍然认为在您实际需要之前创建并保留所有对象(演示者
,交互者
)并不是一个好主意。当您不需要资源时,您也不能释放它们,当您在Fragment.ondestory()
事件中释放范围图时,您可以轻松地为模块每片段
释放资源。对于应用程序范围的依赖项,存在范围a
,对于每个活动依赖项,存在范围B
、C
和D
您基本上是在层次结构中添加一个额外的层:应用程序活动片段。在这种情况下,由于您使用的是单个活动,所以范围a
大致就是应用程序和活动依赖项的范围,而B
、C
和D
则成为片段范围
因此,是的,为每个片段创建一个模块是有意义的。我的应用程序还包括几个活动,这些活动具有明确的范围和目的。我只是不明白创建和保存对象的目的,除非你真的需要它们(如果你有“活动范围”模块,情况会怎样),或者我太在意了?也就是说,保留演示者和其他对象在内存占用方面并不是什么大问题。我完全同意您应该在尽可能低的级别引入和实例化依赖项。