生命周期
# 生命周期
# 1. 什么是生命周期
生命周期(Life Cycle)是指一个对象从创建、运行到销毁的整个过程。它强调的是对象在时间上的变化和存在的不同阶段。
例如:
- 人的生命周期:从出生开始,经历成长、成熟,直到去世。张三的一生就是他的生命周期。
- 程序的生命周期:从程序启动到运行,再到退出或被关闭,这个过程就是程序的生命周期。
在微信小程序中,每个小程序的运行过程也可以被看作是一个生命周期:
- 小程序启动:表示生命周期的开始。
- 小程序关闭:表示生命周期的结束。
- 小程序的运行过程:就是小程序的整个生命周期。
# 2. 小程序生命周期的分类
在微信小程序中,生命周期可以分为两大类:
应用生命周期:
- 应用生命周期指的是整个小程序从启动到运行,再到销毁的过程。它涵盖了小程序的所有页面。
页面生命周期:
- 页面生命周期则指的是每个页面从加载到渲染,再到被销毁的过程。每个页面都有自己独立的生命周期,与应用的生命周期相对独立。
如下图所示,应用的生命周期范围较大,而页面的生命周期相对较小:
# 3. 什么是生命周期函数
生命周期函数是小程序框架提供的内置函数,这些函数在生命周期的不同阶段自动按顺序执行,开发者可以通过这些函数控制程序在特定的时间点执行特定的操作。
例如,当页面刚加载时,可以在 onLoad
函数中初始化页面的数据;当页面即将销毁时,可以在 onUnload
函数中进行资源清理。
区别:
- 生命周期:强调的是整个时间段。
- 生命周期函数:强调的是特定的时间点,在这个时间点上可以执行特定的操作。
# 4. 生命周期函数的分类
小程序中的生命周期函数主要分为两类:
应用的生命周期函数:
- 这些函数是在小程序从启动到运行再到销毁的过程中依次调用的。
页面的生命周期函数:
- 这些函数是在每个页面从加载、渲染、交互到销毁的过程中依次调用的。
# 5. 应用的生命周期函数
应用的生命周期函数是指整个小程序的生命周期,包括小程序的启动、前台运行、后台运行和销毁等。应用生命周期函数在 app.js
文件中进行声明和实现。
常见的应用生命周期函数:
onLaunch
:当小程序初始化时触发,整个应用只会触发一次。onShow
:当小程序从后台进入前台时触发。onHide
:当小程序从前台进入后台时触发。onError
:当小程序发生脚本错误或 API 调用失败时触发。onPageNotFound
:当跳转页面不存在时触发。
示例代码(在 app.js
中实现应用生命周期函数):
App({
onLaunch: function() {
console.log('小程序初始化');
},
onShow: function() {
console.log('小程序进入前台');
},
onHide: function() {
console.log('小程序进入后台');
},
onError: function(msg) {
console.log('小程序发生错误:' + msg);
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
下图展示了应用的生命周期函数在 app.js
中的声明示例:
# 6. 页面的生命周期函数
页面的生命周期函数控制的是每个页面的生命周期,如页面的加载、显示、隐藏和卸载等。这些函数可以在每个页面的 .js
文件中进行定义。
常见的页面生命周期函数:
onLoad
:页面加载时触发,通常用于初始化页面数据。onShow
:页面显示时触发,每次页面进入前台都会触发。onReady
:页面初次渲染完成时触发,只触发一次。onHide
:页面被隐藏时触发,通常发生在页面被其他页面覆盖时。onUnload
:页面被销毁时触发,通常用于清理工作,如关闭定时器等。
示例代码(在页面的 .js
文件中实现页面生命周期函数):
Page({
onLoad: function() {
console.log('页面加载');
},
onShow: function() {
console.log('页面显示');
},
onReady: function() {
console.log('页面初次渲染完成');
},
onHide: function() {
console.log('页面隐藏');
},
onUnload: function() {
console.log('页面销毁');
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
下图展示了页面的生命周期函数在 .js
文件中的声明示例:
总结
生命周期是微信小程序开发中的核心概念,分为应用生命周期和页面生命周期。每个小程序从启动到运行,再到销毁的过程都可以通过生命周期函数进行控制,帮助开发者在合适的时间点执行特定的操作。理解并掌握这些生命周期函数,能让开发者更好地管理程序的状态和资源,并优化用户体验。
编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08