flex的Timer事件几点注意

flex的Timer事件几点注意

1. 设定Timer的延迟时间在执行时未必会被严格遵守,即便Timer的处理事件执行时间小于设定的延迟时间时,那么实际的延迟时间也会大于设定的延迟时间.这是一个每100毫秒就执行的一次的timer 事件处理函数的跟踪结果 :
2244
1 begin at: 2373
1 end at: 2373
2 begin at: 2515
2 end at: 2516
3 begin at: 2656
3 end at: 2656
4 begin at: 2797
4 end at: 2797
5 begin at: 2939
5 end at: 2939
6 begin at: 3080
6 end at: 3080
7 begin at: 3218
7 end at: 3218
8 begin at: 3360
8 end at: 3360
9 begin at: 3504
9 end at: 3504
10 begin at: 3642
10 end at: 3643

2. Timer处理事件执行时间大于Timer的设定时间,那么Timer就不会按照设定的的延迟时间执行,这是一个设定了100毫秒延迟的Timer,处理事件执行时间超过100毫秒的执行情况跟踪:
2791
1 begin at: 2926
1 end at: 3151
2 begin at: 3256
2 end at: 3476
3 begin at: 3584
3 end at: 3801
4 begin at: 3912
4 end at: 4149
5 begin at: 4254
5 end at: 4471
6 begin at: 4613
6 end at: 4861
7 begin at: 4974
7 end at: 5198
8 begin at: 5300
8 end at: 5518
9 begin at: 5629
9 end at: 5861
10 begin at: 6006
10 end at: 6223
3.无论Timer事件处理的执行时间同timer延迟时间是何种关系,只要设定了的Timer的重复次数,事件处理函数一定会执行指定的次数(如果是无限的重复次数,则处理函数会无限次执行).
4.AS虚拟机不支持多线程,所以当一行代码正在被执行时,其他代码绝对不会执行。对于Timer来说,尽管Timer被启动,如果AS虚拟机正 在执行其他的代码,则Timer的下一次触发将等到AS虚拟机完成当前的任务之后才能执行。同理,当Timer的处理事件被执行的时候(AS虚拟正在忙于 处理的时候),其他Timer的触发必须等待当前Timer的执行完毕,应用也不会接受用户的请求。
5.Timer事件有一个与众不同的方法 : updateAfterEvent(),这个方法在事件处理结束后指示flash palyer 或者AIR 如果显示列表发生了变化,则重新呈报(render).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值