首页 Android 正文
  • 本文约525字,阅读需3分钟
  • 162
  • 0

ViewModel的生命周期

摘要

Jetpack为开发者提供了ViewModel的概念,将页面所需要的数据从V层和M层中剥离出来,ViewModel是介于View层和Model层的一个桥梁,使得视图和数据即区分开来,又能保持联系。 生...

Jetpack为开发者提供了ViewModel的概念,将页面所需要的数据从V层和M层中剥离出来,ViewModel是介于View层和Model层的一个桥梁,使得视图和数据即区分开来,又能保持联系。

生命周期

当Android应用程序退回到桌面,或者横竖屏切换时,Activity等组件可能会丢失状态或者是被销毁,这时,开发者通常需要考虑数据的保存和恢复,常见的就是通过onSavaInstanceState()方法和onRestoreInstanceState()方法来实现,有了ViewModel,就可以用更简单的方法来保存数据了。这是为什么呢?

ViewModel独立于组件的配置的变化,也就是说,当发生特殊情况导致Activity重新执行某些生命周期时,ViewModel的生命周期并不会发生变化。

ViewModel的生命周期依赖于对应的Activity的生命周期,通常会在Activity第一次onCreate()时创建ViewModel,Activity在生命周期中可能会触发多次onCreate()(例如配置发生变化),而ViewModel只会在第一次onCreate()时创建,ViewModel的生命周期一直持续到Activity最终销毁。
ViewModel的生命周期


扫描二维码,在手机上阅读


    评论