在Dagger 2中,将所有ViewModel放入AppComponent中是正确的地方。
因为我检查了这个Android google sample,所以所有ViewModel的作用域都在应用程序组件中,但是我认为视图模型应该在其中(视图(活动性,片段)作用域/子组件)?
类似这样的东西:
@ContributesAndroidInjector(modules = [LoginActivityModule::class])
abstract fun contributeLoginActivity() : LoginActivity
-
@Module
abstract class LoginActivityModule {
@Binds
@IntoMap
@ViewModelKey(LoginViewModel::class)
abstract fun bindLoginViewModel(viewModel: LoginViewModel): ViewModel
}
为避免内存泄漏
我需要解释。