在android-architecture-components/GithubBrowserSample 存储库中,Fragment#onViewCreated生命周期方法用于ViewModel实例化(具有Fragment的范围),用于Fragment使用数据绑定 + LiveData+组合的s ViewModel:
来自SearchFragment.kt该回购 ^:
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
searchViewModel = ViewModelProviders.of(this, viewModelFactory)
...
}
Run Code Online (Sandbox Code Playgroud)
是否有任何官方的指南或共识哪个这些Fragment生命周期方法,如onAttach,onCreate,onViewCreated,或者onActivityCreated是实例化的最佳/最安全的地方Fragment的ViewModel使用ViewModelProviders.of(fragment, viewModelFactory)方法?(考虑到数据绑定 +LiveData组合,如果这有区别的话)
试图理解将ViewModel实例化放入任何早期生命周期方法(例如onAttach/ )的一般优点/缺点onCreate(super当然是在调用之后)。
提前致谢。
android android-fragments android-livedata android-viewmodel android-architecture-components