После недавнего перехода с Dagger на Hilt я начал наблюдать очень странное поведение в отношении ViewModels. Ниже приведен фрагмент кода:
@HiltAndroidApp
class AndroidApplication : Application() {}
@Singleton
class HomeViewModel @ViewModelInject constructor() :
ViewModel() {}
@AndroidEntryPoint
class HomeFragment : Fragment(R.layout.fragment_home) {
private val homeViewModel by viewModels<HomeViewModel>()
override fun onResume() {
super.onResume()
Timber.i("hashCode: ${homeViewModel.hashCode()}")
}
}
@AndroidEntryPoint
class SomeOtherFragment : Fragment(R.layout.fragment_home) {
private val homeViewModel by viewModels<HomeViewModel>()
override fun onResume() {
super.onResume()
Timber.i("hashCode: ${homeViewModel.hashCode()}")
}
}
Значение hashCode не согласовано во всех фрагментах. Я не могу понять, что еще мне не хватает для создания одноэлементного экземпляра модели представления в рамках действия.
Я использую дизайн единого действия и добавил все необходимые зависимости.