【发布时间】:2017-09-12 14:42:58
【问题描述】:
我是 Dagger 2 的新手,我设法掌握了它的基本工作原理,但我对自定义范围的真正工作原理感到困惑。所以这就是问题所在:假设我有这样定义的ActivityScope:
@Scope
@Retention(RetentionPolicy.RUNTIME)
public @interface ActivityScope {
}
还有一个作用域组件:
@ActivityScope
@Component( modules = ActivityModule.class)
public interface ActivityComponent {
/* ... */
}
按照我的理解,这个组件提供的对象将只有一个实例,该实例与组件的生命周期一样长,但什么决定了组件的生命周期?是构建组件的位置(应用程序、Activity 内部、Fragment ...),还是其他?
我不知道这是否适合提出这个问题,但欢迎提供任何帮助。谢谢。
【问题讨论】: