中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序中線程架構的示例分析

發布時間:2021-08-18 15:24:21 來源:億速云 閱讀:145 作者:小新 欄目:web開發

這篇文章主要介紹了微信小程序中線程架構的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

小程序的線程架構

每個小程序包含一個描述整體程序的app實例多個描述頁面的page

其中app由3個文件構成:

app.json 公共配置文件

app.wxss 公共樣式文件

app.js 主體邏輯文件

page頁面最多由4個文件構成:

page.jason 頁面配置

page.wxml 頁面結構

page.wxss 頁面樣式

page.js 頁面主體邏輯

app.js和page.js中包含小程序在生命周期的每個階段相應的事件。

典型的app.js代碼結構如下:

App({
 onLaunch:function(){
  //小程序啟動時執行的初始化工作
 },
 onShow:function(){
  //程序啟動或從后臺進入前臺時,觸發執行的操作
 },
 onHide:function(){
  //程序從前臺進入后臺時,觸發執行的操作
 },
globalConf:{
 indexDate:'',
 matchData:''
},
dataCache:{},
globalData:''
})

典型的page.js代碼結構如下:

Page({
 Data:{
}
 onLoad:function(){
  //頁面加載時,執行的初始化工作
 },
 onReady:function(){
  //頁面就緒后,觸發執行的操作
 },
 onShow:function(){
  //頁面打開時,觸發執行的操作
 },
 onHide:function(){
  //頁面隱藏時,觸發執行的操作
 },
 onUnload:function(){
  //頁面關閉時,觸發執行的操作
 },
 //Events handler
  viewTap:function(){
   this.setData({
    text:'set some data for updating view.'
   })
}
})

 一個完整的小程序執行的過程或生命周期如下:

app.onLaunch-->app.onShow-->page1.onLoad-->page1.onShow-->page1.onReady
(打開程序,第一個頁面page1加載完成)
-->page1.onHide-->page2.onLoad-->page2.onShow-->page2.onReady 
(從第1個頁面打開第2個頁面)
-->page2.onUnload-->page1.onShow-->...-->app.onUnload 
(關閉page2,返回page1...退出小程序)

一個page的生命周期開始于onLoad事件,在整個生命周期內onLoad、onReady、onUnload這三個事件各執行一次,onHide和onShow事件在每次頁面隱藏和顯示時都會觸發。

當用戶手動觸發小程序的退出箭頭時,小程序僅觸發app.Hide,下次進入小程序時會觸發app.onShow以及當前頁的page.onShow。僅當小程序在后臺運行超過一定時間未被喚起、或者用戶手動在小程序的控制欄里點擊退出程序、或者小程序內存占用過大被系統關閉時,小程序將被銷毀,會觸發app.onUnload事件。

每個小程序分為2個線程,view與appServer。

view 線程  appServer線程

.wxml + wxss

 

ios:safari

Android:X5瀏覽器

開發工具:chrome

.js

 

ios:JavaScriptCore

Android:X5內核

開發工具:nwjs

view線程負責解析渲染頁面(wxml和wxss文件)。

appServer線程負責運行js。appServer線程運行在jsCore(安卓下運行在X5中,開發工具運行在nwjs中)。由于js不跑在WebView里,就不能直接操縱DOM和BOM,這就是小程序沒有window全局變量的原因。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“微信小程序中線程架構的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云梦县| 大余县| 晋宁县| 斗六市| 化隆| 新源县| 来宾市| 通州区| 陆河县| 华亭县| 中西区| 万全县| 遂昌县| 济宁市| 汉阴县| 拜城县| 绥阳县| 广州市| 长丰县| 阿鲁科尔沁旗| 永春县| 图们市| 天台县| 井陉县| 武鸣县| 浮梁县| 千阳县| 泌阳县| 曲周县| 温州市| 金昌市| 舒兰市| 云梦县| 思南县| 西乡县| 东光县| 瑞安市| 巢湖市| 石城县| 靖边县| 宁蒗|