Java 为什么我们需要匕首2中的@SubComponent?
@Subcomponent在我们的应用程序中有什么用途Java 为什么我们需要匕首2中的@SubComponent?,java,android,dependency-injection,dagger-2,dagger,Java,Android,Dependency Injection,Dagger 2,Dagger,@Subcomponent在我们的应用程序中有什么用途 @Subcomponent interface PostActivitySubComponent : AndroidInjector<PostsActivity> { @Subcomponent.Builder abstract class Builder : AndroidInjector.Builder<PostsActivity>() } 无论是否使用此组
@Subcomponent
interface PostActivitySubComponent : AndroidInjector<PostsActivity> {
@Subcomponent.Builder
abstract class Builder : AndroidInjector.Builder<PostsActivity>()
}
无论是否使用此组件,应用程序都可以正常工作。这样做的目的是什么?@SubComponent对于大型应用程序非常有用,其中活动/片段为specefic屏幕提供依赖项。例如,您有名为ProfileDetailedComponent的AppComponent和子组件,您无法控制内存,但子组件可以帮助您使用@Scope控制内存。对于每个屏幕,您将使用@CustomScope创建子组件和带注释的子组件,并且当用户离开当前屏幕时,您可以使用onDestroy方法清除当前组件并释放内存。总之,@SubComponent需要控制应用程序内存。SubComponent是一种允许范围继承的机制。