生命周期函数

1.Awake只会被调用一次,在Start方法之前被调用!主要用于字段值的初始化工作,禁用脚本,创建游戏对象,或者Resources.Load(Pre(Prefab)对象
2.OnEnable脚本可用时被调用、如果脚本是不可用的,将不会被调用
3.Start只执行一次,在Awake方法执行结束后执行,但在Update方法执行前执行,主要用于程序UI的初始化操作,比如获取游戏对象或者组件
4.FixedUpdate不管当前机器忙不忙,都会保证每一帧执行一次!避免跳帧!固定更新。固定更新常用于移动模型等操作
5.Update每一帧执行的,监听用户输入,播放动画,当机器忙或者性能差的时候,他会停止执行,会产生停顿的感觉,例如一个人本来在1米的位置,突然到来5米的位置上,产生了跳帧,而下面的FixedUpdate方法则相反!会一米一米的去执行!(自己调试发现,Update是先于OnGUI执行的,且执行一次Update之后,会执行两次OnGUI)
6.LateUpdate先执行Update,然后才去执行LateUpdate(Update方法执行完,必定接着执行LateUpdate,而Update和FixeUpdate方法的执行顺序不确定,而且有时候FixeUpdate执行了多帧,而Update却只执行了一帧,这就是因为跳帧的缘故造成的(取决于你的机器性能),如果现在有100个脚本,分别有100个Update()函数,其中只有一个LateUpdate,那么在同一帧中,等待100个Update()执行完后,才能执行这一个LateUpdate() )
7.OnGUI在这里进行GUI的绘制,且GUI是每帧擦除重绘的!仅仅只是绘制!没有生命周期的概念!所有关于绘制GUI的代码,都会直接或者间接地写到OnGUI方法中
8.OnDestroy当前脚本销毁时调用
9.OnDisable如果脚本被设置为不可用将会被执行,程序结束时也会执行一次

### 生命周期函数的概念 生命周期函数是指在特定对象或组件的不同阶段自动触发的特殊方法。这些函数允许开发者在不同时间点执行自定义逻辑,从而更好地控制应用程序的行为和发展过程。 #### 定义与特性 生命周期函数也被称为生命周期回调函数或者生命周期钩子[^2]。这类函数的特点在于它们不是由开发人员直接调用而是当满足一定条件时由框架或运行环境自动触发。例如,在微信小程序中,页面加载完成之后会自动触发`onLoad()`这样的生命周期函数来初始化数据或其他操作[^1]。 #### 作用范围 对于不同的平台和技术栈而言,生命周期函数的作用范围有所不同: - **页面级别**:针对单个页面的有效期内发生的事件处理,比如微信小程序中的页面显示隐藏、初次渲染等时刻都会触发相应的生命周期函数;此级别的生命周期通常只影响当前页面实例内的状态管理。 - **应用级别**:涉及整个应用程序层面的状态变化通知机制,像启动、关闭等活动均属于此类别下的典型场景;该类别的生命周期覆盖更广的时间跨度以及更多的功能模块之间的交互协调工作。 - **局部变量 vs 全局变量**:从另一个角度讲,还可以依据变量的作用域讨论其对应的“小周期”。局部变量仅在其所在代码块被执行期间有效而全局变量则贯穿于整个程序始终存在直至结束为止[^3]。 - **组件内部**:特别是在现代前端框架里(如Vue.js, React),组件拥有自己独立的一套完整的生命周期流程,包括挂载前准备(`beforeMount`)、首次绘制完成后(`mounted`)等一系列重要环节,并且可以通过配置项指定新旧两版形式之一实现具体行为定制化需求[^4]。 ```javascript // 微信小程序页面示例 Page({ onLoad(options){ console.log('页面被加载'); }, onShow(){ console.log('页面显示'); } }) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值