文章來源:http://www.wxapp-union.com/portal.php?mod=view&aid=2939
通俗的講,生命周期就是指一個對象的生老病死船庇。 從軟件的角度來看冕广,生命周期指程序從創(chuàng)建查辩、到開始俩滥、暫停、喚起腾啥、停止、卸載的過程虑凛。下面從一下三個方面介紹微信小程序的生命周期:
應(yīng)用生命周期
頁面生命周期
應(yīng)用生命周期影響頁面生命周期
應(yīng)用生命周期
1碑宴、用戶首次打開小程序,觸發(fā) onLaunch(全局只觸發(fā)一次)桑谍。
2延柠、小程序初始化完成后,觸發(fā)onShow方法锣披,監(jiān)聽小程序顯示贞间。
3、小程序從前臺進入后臺雹仿,觸發(fā) onHide方法增热。
4、小程序從后臺進入前臺顯示胧辽,觸發(fā) onShow方法峻仇。
5、小程序后臺運行一定時間邑商,或系統(tǒng)資源占用過高摄咆,會被銷毀。
前臺人断、后臺定義: 當用戶點擊左上角關(guān)閉吭从,或者按了設(shè)備 Home 鍵離開微信,小程序并沒有直接銷毀恶迈,而是進入了后臺涩金;當再次進入微信或再次打開小程序,又會從后臺進入前臺暇仲。需要注意的是:只有當小程序進入后臺一定時間步做,或者系統(tǒng)資源占用過高,才會被真正的銷毀奈附。
頁面生命周期
1辆床、小程序注冊完成后,加載頁面桅狠,觸發(fā)onLoad方法讼载,一個頁面只會調(diào)用一次轿秧。
2、頁面載入后觸發(fā)onShow方法咨堤,顯示頁面菇篡,每次打開頁面都會調(diào)用一次。
3一喘、首次顯示頁面驱还,會觸發(fā)onReady方法,渲染頁面元素和樣式凸克,一個頁面只會調(diào)用一次议蟆。
4、當小程序后臺運行或跳轉(zhuǎn)到其他頁面時萎战,觸發(fā)onHide方法咐容。
5、當小程序有后臺進入到前臺運行或重新進入頁面時蚂维,觸發(fā)onShow方法戳粒。
6、當使用重定向方法wx.redirectTo(OBJECT)或關(guān)閉當前頁返回上一頁wx.navigateBack()虫啥,觸發(fā)onUnload
wx.navigateTo跳轉(zhuǎn)狀態(tài)下蔚约,頁面A和頁面B的生命周期邏輯
1、進入A頁面:A執(zhí)行onLoad()-->onShow()-->onReady()涂籽;
2苹祟、A頁面navigateTo B頁面:A執(zhí)行onHide(),B執(zhí)行onLoad()-->onShow()-->onReady()评雌;
3树枫、B頁面返回A頁面:B執(zhí)行onUnload(),A執(zhí)行onShow();
4、退出A頁面:A執(zhí)行onUnload()辰晕。
應(yīng)用生命周期影響頁面生命周期
1顽分、小程序初始化完成后,頁面首次加載觸發(fā)onLoad丝里,只會觸發(fā)一次曲初。
2、當小程序進入到后臺杯聚,先執(zhí)行頁面onHide方法再執(zhí)行應(yīng)用onHide方法臼婆。
3、當小程序從后臺進入到前臺幌绍,先執(zhí)行應(yīng)用onShow方法再執(zhí)行頁面onShow方法颁褂。