Lifecycle&ViewModel¶
Lifecycle是由Android推出的用于描述页面生命周期的库,现已扩充至支持多平台,用户可通过给LifecycleOwner设置Observer以监听页面生命周期变化,具体的可参考官方文章:Lifecycle。
本库提供方便监听生命周期的函数LifecycleObserver
:
@Composable
fun Page(){
LifecycleObserver { _, event ->
loge("tag", "$event")
}
}
ViewModel也是由Android推出的,是用于分离不同的代码,让各个类变得更加单一,具体也可参考官方文章:ViewModel
同样的,为了方便使用,也提供了一个方法viewModel
:
@Composable
fun Page(){
val viewModel = viewModel(::FirstViewModel)
}
SavedStateHandle
的ViewModel,如果有更加复杂的构造需求,建议使用依赖注入框架,比如:koin。