Android-ViewModel和LiveData使用详解
ViewModel类的设计目的是以一种关注生命周期的方式存储和管理与UI相关的数据。使用ViewModel的话ViewModel会自动保留之前的数据并给新的Activity或Fragment使用。直到当前Activity被系统销毁时,Framework会调用ViewModel的onCleared()方法,我们可以在onCleared()方法中做一些资源清理操作。这意味着它尊重其他应用程序组件的生命周期,比如Activity、Fragment或Service。LiveData是由observer类表示的观察者视为处于活动状态,如果其生命周期处于STARTED或RESUMED状态。LiveData会将观察者视为活动状态,并通知其数据的变化。LiveData未注册的观察对象以及非活动观察者是不会收到有关更新的通知。当前Activity配置改变,导致重新从onCreate走一遍,这时观察者们会立刻收到配置变化前的最新数据。添加ViewModel和LiveData库的依赖使用
用户评论