生命周期管理库 (Lifecycles) 由三个组件构成,包括 Lifecycle、LiveData 和 ViewModel。它可以用来解决常见的生命周期问题,同时使您的应用程序易于测试且可维护。
ViewModel 用于提供和管理 UI 界面的数据。通过使用 ViewModel,开发者可以方便的将 UI 界面和数据逻辑剥离开来,从而达到 UI 界面 Activity 和 Fragment 负责显示数据和处理用户操作;ViewModel 则负责提供和管理 UI 界面的数据,并且负责和数据层通讯的效果。与此同时,也让您在开发过程中更好地遵循单一职责的设计原则。此外,ViewModel 的另一大特点是它不会因为配置变更而销毁。
在视频的代码示例中,我们使用了 Kotlin 来创建 ViewModel, 创建 ViewModel 方法如下:
接着把曾经保存在 UI 界面中的数据剥离出来,使用 ViewModel 来管理这些数据。如果您需要自定义 ViewModel 的构造函数,则使用 ViewModelProvider.NewInstanceFactory。
我们还推荐开发者同时使用 ViewModel 和另一个生命周期组件 LiveData 来实现响应式的 UI 界面。
注意事项:不要在 ViewModel 中引用 View,使用 LiveData 来通知界面更新;不要混淆 ViewModel 和 onSaveInstanceState 方法的用途。
另,生命周期管理库 LiveData 和 Room 视频即将上线,敬请期待
更多详细内容介绍,请访问以下文档链接
视频播放列表地址