mk.life_cycle:生命周期
生命周期组件,所有的生命周期函数都由这个组件实现
组件特性
- 自动执行父类生命周期函数
所有的生命周期函数onLoad、start、create、init、open...等等,都会先执行父类的函数,再执行子类的函数,不必你手动调用
super.xxx()
。
- 函数阻塞警告
DEBUG 模式时启用,当 create, init, open, close, late_close 函数阻塞时,会打印阻塞错误,阻塞时间配置为
global_config.view.blocking_warning_time_ms_n
- 关闭模块自动重置数据
当模块 close 完毕后且
this.data
为一个 class 类型数据,组件会自动将this.data
赋值为new class
的数据
- 自动清理事件/数据事件
如果你的事件对象为
mk.event_target
、mk.monitor
类型且监听时填写事件目标,如下// 第三个参数为事件对象 main_bundle.event.on(main_bundle.event.key.template, this._event_template, this)
那么事件会在组件 close 后释放,避免写一堆冗余的事件注销代码
如果你的事件对象不是以上所说类型但是包含targetOff
或target_off
函数,你也可以使用this.event_target_as.push(event_target)
自动跟随组件释放
- 跟随模块释放资源
this.follow_release(...)
传入跟随释放资源,this.cancel_release(...)
取消跟随释放资源
参数类型支持cc.Node | cc.Asset | mk.audio_._unit | 函数 | 对象
,详情查看mk.release_.release_param_type
- 独立日志打印
可用
this._log.log
、this._log.warn
、this._log.error
打印模块专属日志
- 自动清理定时器
在模块 close 后,将自动执行
this.unscheduleAllCallbacks()
清理定时器
生命周期函数
由于快速开始已经介绍过,这里不过多赘述
create
init
open
close