自定义组件的生命周期回调函数用于通知用户该自定义组件的生命周期,这些回调函数是私有的,在运行时由开发框架在特定的时间进行调用,不能从应用程序中手动调用这些回调函数。
onPageShow()在页面每次显示时触发一次,包括路由过程、应用进入前台等场景,仅@Entry装饰的自定义组件生效。
目前只有onForeground()回调和onBackground()回调可以感知前后台,可以通过在onForeground()和onBackground()中设置参数传递给@Entry页面,当onPageShow回调执行时通过参数判断来确定是否是前后台显示 可以使用AppStorage作为参数传递。
Foreground和Background状态分别在UIAbility实例切换至前台和切换至后台时触发,对应于onForeground()回调和onBackground()回调。
onForeground()回调,在UIAbility的UI可见之前,如UIAbility切换至前台时触发。可以在onForeground()回调中申请系统需要的资源,或者重新申请在onBackground()中释放的资源。
onBackground()回调,在UIAbility的UI完全不可见之后,如UIAbility切换至后台时候触发。可以在onBackground()回调中释放UI不可见时无用的资源,或者在此回调中执行较为耗时的操作,例如状态保存等。
onPageShow和onForeground是两个独立的生命周期方法,它们分别处理页面切换到前台和从后台切回前台的场景。因此,当应用从后台切到前台时,onPageShow会首先被调用,然后是onForeground。