生命周期补充

组件的生命周期旨在防止多次赋值改变属性,而导致多次渲染造成cpu或内存负荷。考虑到这一点,所以采取了生命周期这一用法。

生命周期,首先将属性更改的值先存储在一个过渡变量中,并不马上赋值给相应的UI组件,而是采用分为2帧的做法,在第一帧中,只做纯粹的代码计算操作,

不涉及对UI的属性操作,只是在利用过渡变量不断的更新需要提交的最新属性值,利用invalidate【失效函数】将要所标记失效的UI置于全局的Layout布局类的对应

失效队列中,属性失效队列,尺寸失效队列,布局失效队列,然后通过addEventListener(EVENT.ENTER_FRAME)的帧事件侦听,预定下一帧进行validate【生效函数】,

然后在layOut中的validate中通过遍历队列中的UI,然后分别调用validate的生效函数,然后将过渡的属性值整整切切的与UI挂钩,使其发生实质的变化。在渲染阶段

中按照顺序依次执行提交阶段,尺寸阶段,布局阶段,属性提交阶段,这里由外到内的顺序依次进行改变,尺寸阶段,由内到外依次进行改变。

然后分别调用了各自UI的validate的函数,根据所处的阶段,各自调用commit属性提交,measure尺寸计算,updateDisplayObject的界面改变。

measure的函数在没有明确规定explicitWidth和explicitHeight下,规定默认的measureWIdth和measureHeight的值,或默认的最大最小的宽高属性。

而updateDisplayObject中,设置位于该UI中的子组件的宽高和和坐标的函数,通过setActual设置宽高,通过move设置x,y值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值