Nous utilisons soutien libs v 25.+
et les nouveaux composants de l'architecture v 1.0.0-alpha3
et nous avons reconnu que les ViewModels qui sont Fragment scope ne sont pas correctement retenus:Conserver ViewModels avec la portée du fragment tout écran rotatif
class MyFragment : LifecycleFragment() {
protected lateinit var viewModel: MyViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
viewModel = ViewModelProviders.of(this).get(MyViewModel::class.java)
}
}
Le viewmodel est essentiellement recréés chaque fois que l'application tourne. Cela peut être résolu en changeant à onActivityCreated
comme utilisé dans les exemples google. Puisque la documentation indique onCreate
je m'attends à ce que ce soit un fragment ou ViewModelProvider
bug.