目录
Stage模型
- Stage模型概述
- 应用配置文件
- UIAbility生命周期
- 页面及组件生命周期
- UIAbility的启动模式
Stage模型概述
创建模块
应用配置文件
注意应用列表的图标描述,和桌面上app图标描述不在一个地方修改
UIAbility生命周期
应用启动会准备好一个Ability舞台,然后在它上面就会帮我们去创建一个UIAbility实例,接着去初始化windows stage的一个舞台,在windows stage created的构造函数里,我们就能够拿到windows stage,利用它去加载和渲染预面,那么页面加载和渲染的过程,是如何的呢?接下来看页面及组件生命周期
页面及组件生命周期
当用户返回之前的页面,或者是跳转到新页面的时候,都有可能离开当前页面,那么当前页面就会从展示的一个状态,变成隐藏的状态了。
那么如果说页面隐藏了,页面中的这些个组件会怎么样呢?是隐藏了还是销毁了呢?
它取决于当前的这个页面,在隐藏后有没有被销毁。比如:pushUrl(),它会将新的页面压入页面栈,原来的不会销毁,而replaceUrl()会销毁原来的页面,组件就会被销毁,子组件也一并销毁。返回操做也是一样,会把栈顶的页面销毁。
页面被销毁,里面的组件肯定被销毁
但是如果说页面还在,里面的组件不一定在
比如我们点击按钮隐藏子组件,那么子组件就被销毁了。
例子
组件切换显示隐藏的时候是否会触发生命周期钩子
添加新的元素是否会触发组件的生命周期钩子
删除元素是否会触发组件的生命周期钩子
使用这两种跳转方式,页面的生命周期如何触发
我们可以给forEach加第三个参数,key,避免重新渲染
UIAbility的启动模式
Singleton启动模式
验证SingLeton启动模式
standard启动模式
multion模式
specified启动模式
下面例子演示跨Ablity的跳转
此时多个Ability存在
不用频发的创建,只是前后台切换,效率高点