微信小程序怎么運行?運行原理是什么?

2022-06-01    分類: 微信小程序

微信小程序怎么運行?運行原理是什么?創(chuàng)新互聯(lián)告訴你。微信小程序?qū)⒃诒驹碌?日正式聲線了,不少用戶已經(jīng)做好了最后的準備,接下來就和小編一起去看看吧。

微信小程序怎么運行?運行原理是什么?

微信小程序怎么運行?

微信小程序是一種新的連接用戶與服務(wù)的方式,可以在微信中很便捷地獲取和傳播,同時具有出色的用戶體驗,非常的方便和具有實用性。

而且,微信小程序是一個不需要下載安裝就可使用的應(yīng)用,即走即用,用戶掃一掃或者搜一下即可打開應(yīng)用。小程序(微信小程序和公眾號有什么區(qū)別?)在微信上是沒有入口。小程序的入口不在微信,而是在二維碼里面,希望小程序的啟動更多是來源于掃二維碼。并且,小程序不會有一個類似“小程序商店”去下載,不需要訂閱,只有訪問量,也不能推送消息。

先上一張圖幫助大家更好的理解微信小程序的運行原理。

微信小程序怎么運行?運行原理是什么?

微信小程序的生命周期不能不知道,不知道小程序就會出現(xiàn)各種bug而無法解決。小程序由兩大線程組成:負責(zé)界面的線程(view thread)和服務(wù)線程(appservice thread),各司其職由互相配合

小程序的生命周期借鑒了Android的生命周期,如果你了解過Android的APP開發(fā),那么理解小程序的就會很簡單。

界面線程有四大狀態(tài):

1. 初始化狀態(tài):初始化界面線程所需要的工作,包括工作機制,基本和我們開發(fā)者沒有關(guān)系,等初始化完畢就向 “服務(wù)線程”發(fā)送初始化完畢信號,然后進入等待傳回初始化數(shù)據(jù)狀態(tài)。

2.首次渲染狀態(tài):收到“服務(wù)線程”發(fā)來的初始化數(shù)據(jù)后(就是 json和js中的data數(shù)據(jù)),就開始渲染小程序界面,渲染完畢后,發(fā)送“首次渲染完畢信號”給服務(wù)線程,并將頁面展示給用戶。

3.持續(xù)渲染狀態(tài):此時界面線程繼續(xù)一直等待“服務(wù)線程”通過this.setdata()函數(shù)發(fā)送來的界面數(shù)據(jù),只要收到就重新局部渲染,也因此只要更新數(shù)據(jù)并發(fā)送信號,界面就自動更新。

4.結(jié)束狀態(tài):這個就不需要解釋了,相信大家都知道。

微信小程序怎么運行?運行原理是什么?

服務(wù)線程四大狀態(tài):

1、初始化狀態(tài):無需和其他模塊交流,跟小程序開發(fā)也沒多大關(guān)聯(lián),此階段就是啟動服務(wù)線程所需的基本功能,比如信號發(fā)送模塊。系統(tǒng)的初始化工作完畢,就調(diào)用自定義的onload和onshow,然后等待界面線程的“界面線程初始化完成”信號。onload是只會首次渲染的時候執(zhí)行一次,onshow是每次界面切換都會執(zhí)行,簡單理解,這就是唯一差別。

2、等待激活狀態(tài):接收到“界面線程初始化完成”信號后,將初始化數(shù)據(jù)發(fā)送給“界面線程”,等待界面線程完成初次渲染。

3、激活狀態(tài):收到界面線程發(fā)送來的“首次渲染完成”信號后,就進入激活狀態(tài)既程序的正常運行狀態(tài),并調(diào)用自定義的onReady()函數(shù)。

此狀態(tài)下就可以通過 this.setData 函數(shù)發(fā)送界面數(shù)據(jù)給界面線程進行局部渲染,更新頁面。

4、后臺運行狀態(tài):如果界面進入后臺,服務(wù)線程就進入后臺運行狀態(tài),從目前的官方解讀來說,這個狀態(tài)挺奇怪的,和激活狀態(tài)是相同的,也可以通過setdata函數(shù)更新界面的。畢竟小程序的框架剛推出,應(yīng)該后續(xù)會有很大不同吧。

當(dāng)前文章:微信小程序怎么運行?運行原理是什么?
分享路徑:http://www.bm7419.com/news46/162296.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項目有微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司