我有一些关于自定义作用域的问题:
- 我正在使用MVP架构,需要为不同的活动注入不同的 presenter。为此,我创建了@ActivityScope。这是否意味着我必须为每个活动创建一个单独的模块/组件?
- 如果我仍然负责创建和释放这些依赖项,那么自定义范围注释的目的是什么?我不确定是否正确,但我可以在所有我的模块/组件中使用@Scope123,并没有任何区别。
我有一些关于自定义作用域的问题:
您需要做的最简单的方法是在应用程序级别创建一个组件,其中提供每种类型的演示文稿。问题在于,您将拥有所有项目的所有类在同一级别,这有点丑陋。 更好的方式是为注入当前Activity/fragment的依赖项创建活动的模块。
使用@ActivityScope或任何其他作用域只是显示该模块的生命周期不同于@Singleton,只要它不是单例,就会考虑您的模块与创建它的活动一样死亡。