В Dagger 2 размещение всех ViewModels внутри AppComponent - правильное место.
Поскольку я проверяю этот android пример google , все ViewModel ограничены в компоненте приложения, но я думаю, модель представления должна быть в этом - область действия (вид деятельности, фрагмент) / подкомпонент?
примерно так:
@ContributesAndroidInjector(modules = [LoginActivityModule::class])
abstract fun contributeLoginActivity() : LoginActivity
-
@Module
abstract class LoginActivityModule {
@Binds
@IntoMap
@ViewModelKey(LoginViewModel::class)
abstract fun bindLoginViewModel(viewModel: LoginViewModel): ViewModel
}
Чтобы избежать утечки памяти
Мне нужно объяснение.