做品牌 需要做网站吗,购物网站开发毕业设计开题报告,下什么软件做网站,网络规划与设计第二版文章目录 1. 概念介绍2. 生命周期状态与方法2.1 生命周期状态2.2 生命周期方法2.3 使用方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了如何监听组件的生命周期相关的内容#xff0c;本章回中将介绍生命周期库:Lifecycle.闲话休提#xff0c;让我们一起Talk… 文章目录 1. 概念介绍2. 生命周期状态与方法2.1 生命周期状态2.2 生命周期方法2.3 使用方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了如何监听组件的生命周期相关的内容本章回中将介绍生命周期库:Lifecycle.闲话休提让我们一起Talk Flutter吧。 1. 概念介绍
我们在本章回中将介绍一个可以监听组件生命周期的库Lifecycle这个库是咱们国内开发人员编写的已经在Github上开源该库可以监听到组件的生命周期它 可以像原生开发中的onCreate,onResume等生命周期方法一样去使用本章回中将详细介绍它的使用方法。
2. 生命周期状态与方法
2.1 生命周期状态
在Lifecycle库中有以下的生命周期事件它和我们通常说的生命周期状态相关联详细如下
pop :表示组件从路由导航栈中弹出,此时会回调dispose方法;push, :表示组件进入路由导航栈中,此时会回调initState方法visible, :表示组件处于可见状态类似onStart方法active, :表示组件处于可获取焦点状类似onResume方法inactive, :表示组件处于不可见状态类似onPause方法invisible, :表示组件处于不可见状态类似onStop方法
2.2 生命周期方法
Lifecycle库提供的生命周期方法比较少常用的是onLifecycleEvent()该方法包含一个参数参数的值为我们在上一个小节中介绍的生命周期事件我们重写 这个生命周期方法后可以通过方法的参数获取到组件的生命周期事件。我们将在后面的小节中介绍具体的细节。
2.3 使用方法
介绍完库中提供的生命周期事件和生命周期方法后我们介绍如何使用它们详细如下
在MaterialApp中设置navigatorObservers属性用来监听路由在组件中组合Lifecycle库中的类LifecycleAware和LifecycleMixin在组件中重写Lifecycle库中的生命周期方法onLifecycleEvent在onLifecycleEvent这个生命周期方法中监听组件的生命周期事件 我们在这里只介绍了一种使用方法该库还提供了其它的使用方法大家可以参考官方给的文档。
3. 示例代码
MaterialApp(navigatorObservers: [defaultLifecycleObserver,],
)class _ExPageLifeCycleState extends StateExPageLifeCycle with WidgetsBindingObserver,LifecycleAware,LifecycleMixin{overridevoid onLifecycleEvent(LifecycleEvent event) {/// TODO: implement onLifecycleEventdebugPrint(life event: $event);switch(event) {case LifecycleEvent.visible:break;case LifecycleEvent.active:break;case LifecycleEvent.inactive:break;case LifecycleEvent.invisible:break;case LifecycleEvent.push:break;case LifecycleEvent.pop:break;}}
}
上面的示例代码依据上一小节中介绍的使用方法编写代码中在重写生命周期方法时只是通过日志输出生命周期事件没有添加任何的业务逻辑大家可以在switch的每 个case中依据不同的生命周期事件添加不同的业务逻辑。
4. 内容总结
我们在本章回中介绍的Lifecycle库可以看作是上一章回内容的扩展因为上一章回介绍的widgestOvserver类主要用来监听整个App的生命周期而本章回中介绍的 Lifecycle库主要用来监听单个组件的生命周期这两个内容可以配合使用。最后我们对本章回中内容做一个全面的总结
Lifecycle库提供了不同的生命周期事件类似原生开发中Actiivty的生命周期方法Lifecycle库提供的生命周期方法比较简单主要用来监听生命周期事件Lifecycle库可以通过组合类的方式使用还可以通过其它方式来使用 看官们与生命周期库LifeCycle相关的内容就介绍到这里欢迎大家在评论区交流与讨论!