标签:ios系统 his 图片 关闭 redirect 程序 钩子 小程序 data
是指程序从创建、到开始、暂停、唤起、暂停、卸载的过程
小程序生命周期可以从三个方面介绍
小程序一个路由跳转的 API也会影响到 Page页面的声明周期
用户首次打开小程序,会先触发 onLaunch
初始化
其次, 触发小程序应用生命周期的 onShow
方法
当切换到桌面时关闭小程序会触发 onHide
, 此时到小程序没有完全销毁,会在后台运行一段时间。 当用户z再次进入小程序会再触发 onShow
生命周期函数。
为什么小程序不提供销毁的钩子函数呢? 应该是因为 IOS系统的限制, 按下 Home键离开微信时, app的状态会被挂起。如果挂起时间过长到话,系统应该会把 app的进程杀掉,所以我们无法得到小程序销毁的通知。
小程序页面加载,会先触发 onLoad
监听页面加载
页面加载之后,会触发 onShow
监听页面显示
页面显示之后,会进行渲染页面结构和样式,触发onReady
, 一个页面只会触发一次
当通过 wx.navigateTo 路由跳转时,触发 onHide
。保留当前页面,跳转到应用内的某个页面
当通过 wx.redirectTo 路由跳转时,触发 unLoad
。关闭当前页面,跳转到应用内的某个页面
小程序初始化完成后, 页面首次加载触发 onLoad
,一个页面只会触发一次
当小程序进入后台时,先会出发页面的 onHide
,其次触发应用的 onHide
当小程序从后台进入前台时, 先触发应用的 onShow
,其次触发页面的 onShow
初始化状态: 初始化视图线程所需要的工作, onLaunch
完成后会向服务器发送初始化完成, 然后进入 waiting data
等待服务器线程提供初始化数据
首次渲染状态: 当接受到服务器提供的初始化数据后,渲染小程序界面,渲染完毕之后会再次通知服务器,并且将页面展示给用户
持续渲染状态: 此时视图线程继续一直等待服务线程通过 this.setData
函数发送来的界面数据, 只要收到就会重新布局渲染,也因此只需要 this.setData
修改数据视图会随之更新的原因
结束状态: 页面被回收或被销毁
初始化状态: 会启用服务器线程所需的基本功能, 服务器初始化好之后就会执行自定义的 onLoad
页面加载和onShow
。等待视图线程 初始化
完成好。onLoad
只会在首次渲染的时候执行一次, onShow
每次页面切换都会执行
等待激活状态: 等待视图线程初始化完成好后, Send initial Data
将初始化数据发送给视图线程,然后等待视图线程初次渲染好的通知
激活状态: 当收到视图线程首次渲染好之后, 就会进入激活状态即正常运行状态, 并且调用页面的 onReady
函数。此时,可以通过 this.setData
向视图线程提供页面数据进行局部渲染。
后台运行状态: 当界面进入后台, 服务器也会进入后台运行状态
结束状态: 页面被回收或被销毁
标签:ios系统 his 图片 关闭 redirect 程序 钩子 小程序 data
原文地址:https://www.cnblogs.com/qiqingfu/p/10393572.html