我们正在使用支持库 v 25.+
和新的架构组件 v 1.0.0-alpha3
,我们发现 Fragment 范围内的 ViewModels 没有被正确地保留:
class MyFragment : LifecycleFragment() {
protected lateinit var viewModel: MyViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
viewModel = ViewModelProviders.of(this).get(MyViewModel::class.java)
}
}
viewModel 在每次应用程序旋转时基本上被重新创建。可以通过改用Google示例中使用的 onActivityCreated 来解决此问题。 由于文档指出要使用 onCreate,我希望这是一个 fragment 或 ViewModelProvider 的 bug。